Перейти до вмісту
TextArray

camelCase, snake_case, kebab-case: інструкція з іменування для розробників

Blog /

Коли ви називаєте змінні, функції, класи чи URL-адреси, формат, який ви вибираєте, має значення. Різні мови та контексти мають різні умовності: JavaScript використовує camelCase, Python віддає перевагу snake_case, властивості CSS використовують kebab-case, а константи конфігурації використовують CONSTANT_CASE. Розуміння кожного з них і знання того, як конвертувати між ними, є практичною навичкою, завдяки якій ваш код буде послідовним і читабельним.

camelCase: стандарт JavaScript

верблюжий регістр починається з малої літери та робить першу літеру кожного наступного слова великою без роздільників. Назви змінних і функцій у JavaScript відповідають такому шаблону: getUserById, calculateTotalPrice, handleSubmitClick. Більшість ключів JSON також мають верблюжий регістр за домовленістю.

Назва походить від «горбів», які утворюють великі літери. Він компактний, читабельний і фактично є стандартом для JavaScript, TypeScript, Java і C#. Коли вам потрібно перетворити текст у верблюжий регістр, незалежно від того, створюєте ви генератор коду чи стандартизуєте імена змінних, перетворювач регістру обробляє це однією пастою.

snake_case: Python і бази даних

snake_case поєднує слова підкресленням і зберігає всі літери малими: get_user_by_id, calculate_total_price, handle_submit_click. Розробники Python використовують це для назв змінних і функцій відповідно до вказівок щодо стилю PEP 8. Імена стовпців і таблиць SQL також зазвичай використовують snake_case, як і змінні середовища в більшості систем.

snake_case читається навіть у формі великих літер (DATABASE_PASSWORD, MAX_RETRY_COUNT), тому CONSTANT_CASE — uppercase snake_case — є універсальною угодою для констант конфігурації та кінцевих змінних у кожній мові.

kebab-case: URL-адреси та CSS

kebab-case поєднує слова дефісами та використовує всі малі літери: get-user-by-id, calculate-total-price. Ви бачите це скрізь в URL-адресах — у статтях slugs, на сторінках продуктів, назвах маршрутів — тому що дефіси зручні для пошукових систем і менше ймовірно, що вони будуть неправильно інтерпретовані аналізаторами, ніж підкреслення. Імена класів CSS і користувальницькі атрибути HTML також використовують kebab-case за умовами.

Створення URL-безпечних ідентифікаторів або slug-подібних імен із звичайного тексту є одним із найбільш практичних застосувань. The Генератор slug перетворює фрази на готові до URL-адреси рядки кебаб-кебаб, попутно видаляючи знаки пунктуації та наголоси.

PascalCase: класи та типи

PascalCase (або UpperCamelCase) робить першу літеру великою: GetUserById, CalculateTotalPrice. Це конвенція для назв класів, визначень типів і компонентів у TypeScript, C#, Java та React. Коли ви працюєте з об’єктно-орієнтованими мовами або фреймворками компонентів, це те, до чого ви потягнетеся.

Перетворення між форматами

Перехід від однієї конвенції до іншої вимагає двох кроків: перший розкол ідентифікатор на окремі слова, потім знову приєднатися їх із сепаратором мішені та кожухом. Ось де інструменти спрощують процес.

Якщо у вас є ідентифікатор camelCase і вам потрібно зрозуміти його частини — можливо, перейменувати його чи зіставити версію snake_case — split camelCase інструмент розбиває його на частини: getUserById стає get User By Id. Після того, як слова розділені, перетворювач регістру можна переформатувати їх відповідно до будь-якої потрібної вам конвенції. Розробники також використовують ці інструменти під час рефакторингу коду за межами мовних кордонів або під час перекладу між специфікаціями API та іменами внутрішніх змінних.

Коли використовувати кожну умову

Правильний вибір залежить від контексту, а не від уподобань. JavaScript і JSON використовують CamelCase. Python, SQL і змінні середовища використовують snake_case. URL-адреси та CSS використовують kebab-case. Імена типів і класів використовують PascalCase. Константи конфігурації використовують CONSTANT_CASE для всіх мов. Дотримання цих угод робить ваш код миттєво впізнаваним для всіх, хто знайомий з цією екосистемою.

Узгодженість важливіша за конкретну конвенцію — якщо ви змішуєте формати в одному файлі чи проекті, читачам доведеться перемикатися контекстом, і помилки стає легше. Інструменти для перетворення та розділення ідентифікаторів допомагають залишатися узгодженими, коли ви працюєте кількома мовами або переміщуєте код між проектами.