2013-11-21 3 views
1

Я пришел из мира Java/C#, где пространства имен абсолютно необходимы. Тем не менее, comments like these заставляет меня думать, что модули не полезны в машинописных текстах (и javascript). Для больших скриптов/javascript-программ (вероятно, несколько сотен файлов .js к моменту завершения) модули являются хорошей практикой или они просто мешают?Являются ли модули хорошей идеей в машинописном тексте? Или они просто добавили сложности?

ps - Я знаю, что вопросы мнения здесь не допускаются. Но, ИМО, это более «объясните, как работает javascript».

+1

Это зависит от многого. В этом вопросе нет ничего, что меня поразило бы как «как работает JavaScript». –

+0

Мое мнение: Модули полезны как средство инкапсуляции, делая огромные системы управляемыми. Но многие библиотеки загружают модули через глубокие пространства имен, добавляя к воспринимаемой сложности. Глубокие пространства имен не полезны в JavaScript, где модули могут быть динамически загружены - они необходимы для определенных скомпилированных языков без встроенных пакетов управления, где есть огромная библиотека, и вы должны следить за вещами. Однако модули AMD очень полезны. Обратите внимание: если у вас имеется большое количество модулей, имена самих модулей могут быть выражены в глубоком пространстве имен. –

ответ

1

Наличие глубокой иерархии пространства имен в основном является излишним. Однако иметь одно пространство имен верхнего уровня - это, безусловно, хорошая идея.

например.

module appName{ 
    class Foo{} 
} 

вместо

class Foo{} 

Но не так, если вы используете уже используют внешние модули (CommonJS/requirejs), как они изолируют код для каждого файла.

+0

Да, это важно для моего вопроса. Мы используем requirejs, и каждое «пространство имен» находится в отдельном файле .ts или .js. Как работает javascript, модули добавляют что-нибудь к этому? –

+0

@DavidThielen совсем нет – basarat

Смежные вопросы