Ответ 1
Вы можете следовать этому Руководство по стилю JavaScript JavaScript
В общем, используйте функциюNamesLikeThis, variableNamesLikeThis, ClassNamesLikeThis, EnumNamesLikeThis, methodNamesLikeThis и SYMBOLIC_CONSTANTS_LIKE_THIS.
Я знаю, что у этого вопроса нет ответа, но мне любопытно узнать, что думают другие люди.
На языке, подобном Java, это соглашение, чтобы начинать классы с заглавными буквами и объекты с строчными буквами. Но как насчет JavaScript, где все является объектом?
Я видел, как некоторые люди предлагают использовать только те объекты, которые рассматриваются как классы; то есть функциональные объекты с прототипом, которые предназначены для использования с оператором new. Экземпляры этих объектов будут уменьшены.
Это звучит логично. Но что вы делаете с "глобальными объектами", где есть только один экземпляр? Похоже, что большинство людей используют их (например, Math или Ext.History). Это интуитивно чувствует себя правильно, но трудно обосновать это последовательным правилом.
А как насчет объектов, которые используются как пространства имен? Кажется, что они находятся по всей карте: YUI, Ext.util, jQuery и т.д.
Просьба предоставить светские рационализации для ваших сердечных религиозных взглядов.
Вы можете следовать этому Руководство по стилю JavaScript JavaScript
В общем, используйте функциюNamesLikeThis, variableNamesLikeThis, ClassNamesLikeThis, EnumNamesLikeThis, methodNamesLikeThis и SYMBOLIC_CONSTANTS_LIKE_THIS.
Я согласен с капитализацией функций, которые определяют "классы" (используемые воздушные кавычки), которые, в свою очередь, будут использованы позже с использованием нового оператора.
Но это. Глобальные объекты просто глобальны. Назовите их, что хотите.
Все, что я хотел бы убедиться, что они уникальны и достаточно описательны, что они не будут перезаписаны случайно другим разработчиком позднее.
Соглашение заключается в том, что конвенции нет. Делайте то, что хотите, просто будьте последовательны. Я предлагаю следовать стилю Java и игнорировать любое соглашение, которое использует библиотека (dojo
, Ext
, YUI
, $
и т.д.)).