Чи повинні файли називатися щось з-hyphens.js, camelCased.js чи щось інше?
Я не знайшов відповідь на це питання тут .
Чи повинні файли називатися щось з-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.MenuItemРеагувати компонент буде йтиMenuItem.js. Інші розробники вимагатимуть / імпортуватимуть 'ваш-cool-модуль' та використовуватимуть з нього кілька символів, тому назвіть йогоcool-module.js. -