Я дам вам ответ, который я всегда даю: это зависит.
Объединение всего в один файл имеет много преимуществ, в том числе:
меньше сетевого трафика - возможно, вы получаете один файл, но вы отправляете / получаете несколько пакетов, и каждая транзакция имеет серию сообщений SYN, SYN-ACK и ACK, отправленных через TCP. Большую часть времени передачи составляет сеанс, и в заголовках пакетов много служебных данных.
одно местоположение / управляемость - хотя у вас может быть только несколько файлов, функции (и объекты классов) могут легко расти между версиями. Когда вы используете многофайловый подход, иногда функции из одного файла вызывают функции / объекты из другого файла (например, ajax в одном файле, а затем арифметические функции в другом - ваши арифметические функции могут вырасти до необходимости вызывать ajax и иметь определенный тип переменной возвращается). В итоге получается, что ваш набор файлов должен рассматриваться как одна версия, а не как отдельный файл. В будущем дела пойдут не так, как надо, если у вас нет хорошего управления, и легко выйти из строя с помощью файлов Javascript, которые постоянно меняются. Наличие одного файла облегчает управление версией между каждой из ваших страниц на ваших (от 1 до многих) веб-сайтах.
Другие темы для рассмотрения:
неактивный код - вы можете подумать, что невызванные функции потенциально снижают производительность, занимая место в памяти, и вы были бы правы, однако эта производительность настолько незначительна, что это не важно Функции индексируются в памяти, и, хотя индексная таблица может увеличиваться, при работе с небольшими проектами это очень тривиально, особенно с учетом современного оборудования.
утечки памяти - это, вероятно, самая большая причина, по которой вы не захотите объединять весь код, однако это такая небольшая проблема, учитывая объем памяти в современных системах и лучшие браузеры сборки мусора есть. Кроме того, это то, что вы, как программист, можете контролировать. Код качества ведет к меньшему количеству подобных проблем.
Почему это зависит?
Хотя легко и просто выбросить весь код в один файл, это было бы неправильно. Это зависит от того, насколько велик ваш код, сколько функций, кто его поддерживает и т. Д. Конечно, вы не будете упаковывать свои локально написанные функции в пакет JQuery, и у вас могут быть разные программисты, которые поддерживают разные блоки кода - это зависит от вашего установка.
Это также зависит от размера. Некоторые программисты встраивают закодированные изображения как ASCII в свои файлы, чтобы уменьшить количество отправляемых файлов. Они могут раздуть файлы. Конечно, вы не хотите упаковывать все в 1 50MB файл. Особенно, если для загрузки страницы необходимы основные функции.
Итак, чтобы завершить мой ответ, нам потребуется больше информации о вашей настройке, потому что это зависит. Конечно, 3 файла приемлемы независимо от размера, объединяя, где вы посчитаете нужным. Вероятно, это не повредит сетевому трафику, но 50 файлов - это более неразумно. Я использую правило раздачи (не более 5), но вы наверняка увидите преимущество, объединяющее эти 5 файлов по 1 КБ в файл размером 1 5 КБ.