Должны ли файлы называться что-то с with-hyphens.js, camelCased.js или как-то еще?
Я не нашел ответа на этот вопрос здесь .
javascript
naming-conventions
ripper234
источник
источник
MyPlugin
Класс будет идтиMyPlugin.js
. КомпонентMenuItem
React будет включенMenuItem.js
. Другим разработчикам потребуется / import 'your-cool-module' и использовать несколько символов из него, поэтому назовите егоcool-module.js
. -Ответы:
Одним из возможных соглашений об именах является использование чего-то похожего на схему именования, которую использует jQuery. Это не универсально принято, но это довольно распространено.
где пара
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
источник
The beauty to this naming convention is that it explicitly describes the global namespace pollution being added.
, никогда не замечал этогоFoo
илиmyFoo
, вы бы просто назвали файлFoo.js
или,myFoo.js
соответственно?Вопрос в ссылке, которую вы дали, говорит об именовании переменных JavaScript, а не об именах файлов, поэтому забудьте об этом для контекста, в котором вы задаете свой вопрос.
Что касается имен файлов, это чисто вопрос предпочтений и вкуса. Я предпочитаю называть файлы дефисами, потому что тогда мне не нужно тянуться к клавише Shift, как это происходит при работе с именами файлов camelCase; и потому что мне не нужно беспокоиться о различиях между именами файлов Windows и Linux (имена файлов Windows не чувствительны к регистру, по крайней мере, в XP).
Таким образом, ответ, как и многие другие, «это зависит» или «это зависит от вас».
Единственное правило, которому вы должны следовать, - это быть последовательным в выбранной вами конвенции.
источник
Я обычно предпочитаю дефисы со строчными буквами, но еще не упомянуто то, что иногда приятно, чтобы имя файла точно совпадало с именем отдельного модуля или инстанцируемой функции, содержащейся в нем.
Например, у меня есть модуль раскрытия, объявленный
var knockoutUtilityModule = function() {...}
в его собственном файле с именем knockoutUtilityModule.js, хотя объективно я предпочитаю knockout-utility-module.js.Точно так же, поскольку я использую механизм связывания для объединения сценариев, я занялся определением инстанцируемых функций (шаблонов представления моделей и т. Д.), Каждая из которых находится в отдельном файле в стиле C # для удобства сопровождения. Например, ProductDescriptorViewModel живет сам по себе в ProductDescriptorViewModel.js (я использую прописные буквы для создаваемых функций).
источник