Несколько раз я обнаружил, что у меня есть группа взаимосвязанных функций, и то, как я естественным образом поместил бы их в файл, конфликтует с их зависимостями (то есть функция 1 зависит от функции 2, но выше функции 1 ). Когда я пишу код, я обычно продолжаю оценивать выражения верхнего уровня и оцениваю только весь файл, чтобы обновить зависимости от ссылок или еще чего-нибудь. Я нахожу это довольно часто, в результате я сталкиваюсь с конфликтом зависимостей и вынужден манипулировать множеством функций.
На других языках, которые я знаю, как только вы объявляете функцию, она «поднимается» за кулисы, как если бы она появлялась раньше всего. Таким образом, вам не нужно беспокоиться о порядке вещей в вашем коде, и вы можете рассматривать функции как модульные фрагменты кода. Недостаток этой функции постоянно кусает меня. Я делаю что-то неправильно? Это скорее незначительное раздражение, чем огромная сделка, это то, к чему вы просто привыкли обращать внимание?