RequireJS - Аутсорсинговая загрузка скриптов
Я нашел RequireJS особенно полезным для разработки приложений JavaScript.В моем случае я имею дело с десятками файлов JavaScript (модулей), но я уверен, что это пригодится и в других случаях.
Библиотека обрабатывает много скучных вещей для вас.Все, что вам нужно сделать, это настроить некоторые файлы (main.js, опции сборки), установить зависимости модуля модуля, и вы готовы к работе.Он включает в себя систему сборки, так что вы можете легко выполнить отладку или производственную сборку (минимизированную).
В структуре приложения
Мне нравится кодировать "сверху вниз".Идея состоит в том, что более высокие уровни приложения должны быть определены очень свободно.Вы не должны видеть реальных алгоритмов, используемых для решения некоторых конкретных проблем.Наивысший уровень должен быть связан с соединением частей приложения.Нижние уровни решают более конкретные проблемы, пока не дойдут до конкретных реализаций.
Это довольно стандартный, многоуровневый подход к разработке приложений.Вам, вероятно, не понадобится что-то подобное для случайных сценариев.Это все еще хорошая идея применить на практике, так как это поможет вам лучше составлять свои сценарии.Вы можете использовать эту идею на уровне замыкания даже для того, чтобы облегчить чтение кода.
Вкл. Функции
Это может помочь прочитать «function» как «to» ( Logo концепция :)).Я думаю, что хорошо написанная функция читается как рецепт (для «drawLine» вы должны сделать это и это, используя эти параметры ...).
Я знаю, что это не совсем относится к вопросу, но я подумалэто может быть забавная идея, чтобы упомянуть.Возможно, это поможет вам увидеть функции по-разному и поможет вам структурировать ваш код JavaScript таким образом.
Элементы не готовы
Учитывая, что элементы не готовы и загрузка сценария ... вы могли бы быть лучшеот определения вашего кода в обработчике "готов к документу".Это довольно стандартная вещь.
Если вы используете RequireJS или подобную библиотеку, вам, вероятно, об этом не нужно беспокоиться.Они решают эту конкретную проблему для вас.