Должны ли файлы быть названы something-with-hyphens.js, camelCased.js или что-то еще?
Я не нашел ответа на этот вопрос здесь.
Должны ли файлы быть названы something-with-hyphens.js, camelCased.js или что-то еще?
Я не нашел ответа на этот вопрос здесь.
Одним из возможных соглашений об именах является использование чего-то похожего на схему именования, используемую jQuery. Это не принято, но это довольно часто.
product-name.plugin-ver.sion.filetype.js
где пара product-name
+ plugin
также может представлять собой пространство имен и модуль. version
и filetype
обычно являются необязательными.
filetype
может быть чем-то относительно того, как содержимое файла. Часто видны:
min
для мини файловcustom
для настраиваемых или измененных файловПримеры:
jquery-1.4.2.min.js
jquery.plugin-0.1.js
myapp.invoice.js
Мне не известно о каком-либо конкретном соглашении для файлов javascript, поскольку они не уникальны в Интернете или css файлах или html файлах или любом другом подобном файле. Есть несколько "безопасных" вещей, которые вы можете сделать, чтобы сделать его менее вероятным, вы случайно столкнетесь с проблемой кросс-платформенной:
various-scripts.js
, тире является безопасным и полезным и обычно используемый разделитель.Нет никакого официального универсального соглашения для именования файлов JavaScript.
Есть несколько вариантов:
scriptName.js
script-name.js
script_name.js
- все допустимые соглашения об именах, однако я предпочитаю предлагаемое jQuery соглашение об именах (для плагинов jQuery, хотя оно работает для любого JS)
jquery.pluginname.js
Красота этого соглашения об именах заключается в том, что он явно описывает добавление глобального пространства имен.
foo.js
добавляет window.foo
foo.bar.js
добавляет window.foo.bar
Потому что я оставил версию: он должен появиться после полного имени, предпочтительно разделенного дефисом, с периодами между основными и второстепенными версиями:
foo-1.2.1.js
foo-1.2.2.js
foo-2.1.24.js
Вопрос в ссылке, которую вы дали о названии переменных JavaScript, а не об именах файлов, поэтому забывайте об этом для контекста, в котором вы задаете свой вопрос.
Что касается имен файлов, это чисто вопрос предпочтения и вкуса. Я предпочитаю имена файлов с дефисами, потому что тогда мне не нужно обращаться к клавише смены, как это происходит при работе с именами файлов camelCase; и потому, что мне не нужно беспокоиться о различиях между именами файлов Windows и Linux (имена файлов Windows не чувствительны к регистру, по крайней мере, через XP).
Итак, ответ, как и многие, "зависит от вас" или "это зависит от вас".
Одно правило, за которым вы должны следовать, должно быть последовательным в выбранном вами соглашении.
Обычно я предпочитаю дефисы с нижним регистром, но еще одна вещь, о которой еще не упоминалось, заключается в том, что иногда приятно иметь имя файла, точно совпадающее с именем одного модуля или исполняемой функции, содержащейся внутри.
Например, у меня есть раскрывающий модуль, объявленный с var knockoutUtilityModule = function() {...}
в его собственном файле с именем knockoutUtilityModule.js, хотя объективно я предпочитаю knockout-utility-module.js.
Точно так же, поскольку я использую механизм связывания для объединения скриптов, я взял для определения работоспособных функций (шаблонные модели просмотра и т.д.) каждый в своем собственном файле С# style. Например, ProductDescriptorViewModel живет самостоятельно внутри ProductDescriptorViewModel.js(я использую верхний регистр для исполняемых функций).