Я помещаю require
в те самые файлы, которые используют вещи, которые require
d. Это разделит ваш код на переносимые модули. Вы можете перемещать файлы между каталогами / пространствами имен, а также извлекать детали и помещать их в другие репозитории / проекты или превращать их в драгоценные камни. Практика использования require
в случае необходимости также делает ваш код более коммуникативным и, следовательно, более легким для понимания. С самого начала читатель лучше информируется о зоне ответственности кода в файле.
Подставляя require
в какой-либо файл верхнего или верхнего уровня, вы встраиваете соединение файла более высокого уровня с файлом более низкого уровня. Файл более высокого уровня получает знания о том, что делает файл более низкого уровня и что ему нужно. Вы также неясны, где на самом деле используются зависимости. Это делает очистку более сложной, если вы хотите удалить неиспользуемые зависимости. Вы не можете так легко сказать, где и как используется данная зависимость. Если require
s помещены туда, где они используются, тогда вы можете удалить require
из данного файла, когда вы удалите использование зависимостей из этого файла, и если это окажется require
d в другом файле, ваше приложение не сломается из-за удаления. Если вы поместите require
в файл более высокого уровня, существует риск, что разработчик может удалить использование из одного файла, а затем подумать, что зависимость больше не используется, и удалить require
из файла более высокого уровня. , тем самым разбивая код в других файлах, которые его используют.