Конвертер регістру: CamelCase, Snake_case та інші формати

Називання змінних – одна з двох найскладніших речей у програмуванні (одразу після інвалідації кешу). І коли ви вже придумали назву, її потрібно правильно написати. Адже кожна мова програмування має свої правила.

Наш Конвертер регістру – це швейцарський ніж для форматування тексту. Просто введіть назву один раз (у будь-якому форматі), і миттєво «перекладемо» її у синтаксис усіх основних мов програмування.

Швидкий огляд: Коли використовувати який регістр?

Якщо ви заплуталися, ось шпаргалка стандартних конвенцій іменування (Naming Conventions) на 2025 рік:

🐪 camelCase (Верблюжий регістр)

Починається з малої літери, а кожне наступне слово – з великої. Без пробілів.

  • Де використовується: JavaScript, Java, Swift, Kotlin, Go.
  • Приклади: myVariableName, getElementById, iPhone.

🐍 snake_case (Зміїний регістр)

Усі літери малі та розділені підкресленням.

  • Де використовується: Python, Rust, PHP, бази даних SQL, імена файлів.
  • Приклади: user_id, first_name, def my_function().

🍢 kebab-case (Шашличний регістр)

Малі літери, розділені дефісом. Виглядає як м’ясо на шампурі.

  • Де використовується: Класи CSS, атрибути HTML, URL-адреси (slugs), Kubernetes.
  • Приклади: font-size, my-cool-article, <div id="main-content">.

📐 PascalCase (UpperCamelCase)

Схоже на camelCase, але перша літера Велика.

  • Де використовується: Назви Класів у більшості мов (JS, Python, PHP), C# (методи та змінні), компоненти React.
  • Приклади: UserProfile, AppController, ReactComponent.

📢 CONSTANT_CASE (Screaming Snake Case)

Великі літери, розділені підкресленням. Кричить на вас, що це значення не повинно змінюватися.

  • Де використовується: Константи, змінні ENV, глобальні конфігурації.
  • Приклади: MAX_RETRIES, API_KEY, DB_PASSWORD.

Як працює наш конвертер?

Наш інструмент «розумний». Це означає, що він не просто тупо замінює пробіли.

  1. Визначення слів: Алгоритм розпізнає слова, незалежно від того, чи розділені вони пробілами ahoj svete, підкресленнями ahoj_svete, дефісами ahoj-svete або переходом великих літер ahojSvete.
  2. Нормалізація: Усе перетворюється на базову форму.
  3. Генерація: Створює всі варіанти одночасно.

Це корисно, наприклад, під час рефакторингу коду, коли вам потрібно перетворити старі змінні PHP ($user_id) на сучасний JavaScript (userId) або створити клас CSS (user-id) з назви стовпця бази даних.

FAQ: Часті питання

Що таке «Угорська нотація»? Це старий спосіб запису (поширений у C/C++ у 90-х роках), коли назва змінної починається зі скорочення типу даних. Наприклад, strName (рядок) або iCount (ціле число). Сьогодні в сучасних мовах він не дуже використовується, оскільки IDE автоматично показують нам типи.
Чи можна використовувати kebab-case у JavaScript? Безпосередньо як назву змінної – ні, оскільки дефіс - у JS працює як оператор віднімання. var my-variable означало б «моя мінус змінна». Kebab-case у JS використовується лише як ключі в об'єктах, якщо вони взяті в лапки: { "content-type": "json" }.
Який регістр використовувати для JSON? Стандарт JSON не визначає регістр, але Google і більшість REST API використовують camelCase (наприклад, createdAt). Навпаки, деякі старі API та бекенди Python повертають snake_case (наприклад, created_at). Важливо бути послідовним.