Przejdź do treści
TextArray

camelCase, Snake_case, Kebab-case: przewodnik nazewnictwa dla programistów

Blog /

Kiedy nadajesz nazwy zmiennym, funkcjom, klasom lub adresom URL, wybrany format ma znaczenie. Różne języki i konteksty mają różne konwencje: JavaScript używa camelCase, Python preferuje Snake_case, właściwości CSS używają kebab-case, a stałe konfiguracyjne używają CONSTANT_CASE. Zrozumienie każdego z nich i umiejętność konwersji między nimi to praktyczna umiejętność, która pozwala zachować spójność i czytelność kodu.

camelCase: standard JavaScript

camelCase zaczyna się od małej litery i wielką literą jest pierwsza litera każdego kolejnego słowa, bez separatorów. Nazwy zmiennych i funkcji w JavaScript są zgodne z następującym wzorcem: getUserById, calculateTotalPrice, handleSubmitClick. Większość kluczy JSON zgodnie z konwencją to także camelCase.

Nazwa pochodzi od „garbów”, które tworzą wielkie litery. Jest kompaktowy, czytelny i stanowi de facto standard w JavaScript, TypeScript, Java i C#. Kiedy musisz przekonwertować tekst na CamelCase — niezależnie od tego, czy budujesz generator kodu, czy standaryzujesz nazwy zmiennych — konwerter obudów radzi sobie z tym w jednej paście.

Snake_case: Python i bazy danych

Snake_case łączy słowa podkreśleniami i zachowuje wszystkie małe litery: get_user_by_id, calculate_total_price, handle_submit_click. Programiści Pythona używają tego do nazw zmiennych i funkcji, zgodnie z wytycznymi dotyczącymi stylu PEP 8. W nazwach kolumn i tabel SQL również często używa się nazwy Snake_case, podobnie jak w przypadku zmiennych środowiskowych w większości systemów.

Snake_case można odczytać nawet w formie pisanej wielkimi literami (DATABASE_PASSWORD, MAX_RETRY_COUNT), dlatego właśnie CONSTANT_CASE – wielkie litery węży – jest uniwersalną konwencją dotyczącą stałych konfiguracyjnych i zmiennych końcowych w każdym języku.

kebab-case: Adresy URL i CSS

kebab-case łączy słowa łącznikami i używa małych liter: get-user-by-id, calculate-total-price. Widać to wszędzie w adresach URL – artykułach slugs, stronach produktów, nazwach tras – ponieważ łączniki są przyjazne dla wyszukiwarek i rzadziej są błędnie interpretowane przez analizatory składni niż znaki podkreślenia. Nazwy klas CSS i niestandardowe atrybuty HTML również zgodnie z konwencją używają wielkości liter kebab.

Budowanie identyfikatorów bezpiecznych dla adresów URL lub nazw podobnych do slug ze zwykłego tekstu jest jednym z najbardziej praktycznych zastosowań. The Generator slug konwertuje frazy na gotowe do użycia adresy URL ciągi znaków typu kebab, usuwając po drodze znaki interpunkcyjne i akcenty.

PascalCase: klasy i typy

PascalCase (lub UpperCamelCase) pisze wielką literę: GetUserById, CalculateTotalPrice. Jest to konwencja nazw klas, definicji typów i komponentów w TypeScript, C#, Java i React. Kiedy pracujesz z językami obiektowymi lub frameworkami komponentów, sięgniesz po to.

Konwersja pomiędzy formatami

Konwersja z jednej konwencji na drugą wymaga dwóch kroków: pierwszego podział następnie identyfikator na osobne słowa zareplikować je za pomocą separatora celu i obudowy. W tym miejscu narzędzia usprawniają proces.

Jeśli masz identyfikator camelCase i chcesz poznać jego części — być może zmienić jego nazwę lub dopasować wersję Snake_case — podzielona obudowa wielbłąda narzędzie rozbija to na części: getUserById staje się get User By Id. Po oddzieleniu słów, konwerter obudów możesz je sformatować w dowolnej potrzebnej konwencji. Programiści używają tych narzędzi również podczas refaktoryzacji kodu ponad granicami językowymi lub podczas tłumaczenia między specyfikacjami API i nazwami zmiennych wewnętrznych.

Kiedy stosować każdą konwencję

Właściwy wybór zależy od kontekstu, a nie preferencji. JavaScript i JSON używają camelCase. Python, SQL i zmienne środowiskowe używają Snake_case. Adresy URL i CSS używają kebab-case. Nazwy typów i klas używają PascalCase. Stałe konfiguracyjne używają CONSTANT_CASE we wszystkich językach. Przestrzeganie tych konwencji sprawia, że Twój kod jest natychmiast rozpoznawalny dla każdego, kto zna ten ekosystem.

Spójność jest ważniejsza niż konkretna konwencja — jeśli mieszasz formaty w tym samym pliku lub projekcie, czytelnicy muszą zmieniać kontekst, a błędy stają się łatwiejsze. Narzędzia do konwersji i dzielenia identyfikatorów pomagają zachować spójność podczas pracy w wielu językach lub migracji kodu między projektami.