Должны ли файлы называться что-то с with-hyphens.js, camelCased.js или как-то еще?
Я не нашел ответа на этот вопрос здесь .
Должны ли файлы называться что-то с 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.jsjquery.plugin-0.1.jsmyapp.invoice.jsЯ не знаю каких-либо конкретных соглашений для файлов javascript, поскольку они не являются уникальными в Интернете по сравнению с файлами CSS, HTML-файлами или любым другим типом файлов, подобных этому. Есть несколько «безопасных» вещей, которые вы можете сделать, чтобы уменьшить вероятность случайного столкновения с кроссплатформенной проблемой:
various-scripts.js, дефис - это безопасный и полезный и часто используемый разделитель.Официального универсального соглашения об именовании файлов JavaScript не существует.
Есть несколько различных вариантов:
scriptName.jsscript-name.jsscript_name.jsвсе действительные соглашения об именах, однако я предпочитаю предложенное jQuery соглашение об именах (для плагинов jQuery, хотя оно работает для любого JS)
jquery.pluginname.jsПрелесть этого соглашения об именах в том, что оно явно описывает добавляемое загрязнение пространства имен.
foo.js адды window.foofoo.bar.js адды window.foo.barПотому что я пропустил управление версиями: оно должно идти после полного имени, желательно через дефис, с периодами между основной и вспомогательной версиями:
foo-1.2.1.jsfoo-1.2.2.jsfoo-2.1.24.jsThe 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 (я использую прописные буквы для создаваемых функций).
MyPluginКласс будет идтиMyPlugin.js. КомпонентMenuItemReact будет включенMenuItem.js. Другим разработчикам потребуется / import 'your-cool-module' и использовать несколько символов из него, поэтому назовите егоcool-module.js. -