camelCase, snake_case sau kebab-case: care să folosești
camelCase pentru JavaScript, snake_case pentru Python și bazele de date, kebab-case pentru CSS și URL-uri. Cum convertești gratuit.
Publicat · 5 min de citit
camelCase, snake_case sau kebab-case este mai ales o chestiune de locul unde trăiește numele. JavaScript și Java folosesc camelCase (firstName), Python, Ruby și SQL folosesc snake_case (first_name), iar CSS, atributele HTML și URL-urile folosesc kebab-case (first-name). Urmează convenția limbajului tău și ghidul de stil al echipei. Ca să schimbi textul de la o convenție la alta, convertorul gratuit de majuscule și minuscule și generatorul gratuit de slug-uri pentru URL acoperă majoritatea cazurilor direct în browser.
camelCase, snake_case și kebab-case dintr-o privire
| Stil | Exemplu | Unde îl vezi |
|---|---|---|
| camelCase | userFirstName |
variabile și funcții JavaScript și TypeScript, metode Java, JSON din multe API-uri web |
| PascalCase | UserFirstName |
nume de clase în majoritatea limbajelor, componente React, metode C# |
| snake_case | user_first_name |
variabile și funcții Python, Ruby, nume de coloane SQL, multe API-uri JSON |
| SCREAMING_SNAKE_CASE | USER_FIRST_NAME |
constante în multe limbaje, variabile de mediu |
| kebab-case | user-first-name |
proprietăți și nume de clase CSS, atribute HTML, URL-uri, nume de fișiere, opțiuni CLI |
Numele vin din forma lor: camelCase are cocoașe de litere mari, snake_case stă drept pe liniuțe de subliniere, iar cuvintele în kebab-case sunt înșirate pe liniuțe de unire, ca pe o frigăruie.

Limbaj cu limbaj
JavaScript și TypeScript. Variabilele și funcțiile sunt în camelCase (getUserName), clasele și componentele React în PascalCase (UserCard), iar constantele sunt adesea în SCREAMING_SNAKE_CASE (MAX_RETRIES). Funcțiile încorporate ale limbajului urmează același stil, cum ar fi getElementById și toLowerCase.
Python. PEP 8, ghidul de stil al Python, folosește snake_case pentru funcții, variabile și nume de module, CapWords (PascalCase) pentru clase și majuscule cu liniuțe de subliniere pentru constante. Scrierea lui getUserName în Python funcționează, dar va arăta deplasat pentru fiecare dezvoltator Python care îl citește.
CSS și HTML. Proprietățile CSS sunt în kebab-case (background-color, font-size), iar majoritatea sistemelor de nume pentru clase urmează același stil (.nav-item, .card-title). Atributele HTML data- sunt și ele în kebab-case, iar browserele le convertesc pentru JavaScript: data-user-id devine element.dataset.userId. Asta rezumă foarte bine motivul pentru care există ambele convenții.
SQL și baze de date. Numele coloanelor și tabelelor sunt de obicei în snake_case (created_at, order_items). Multe baze de date transformă numele neghilimetate într-o singură formă de litere, așa că createdAt poate deveni discret createdat, dacă nu îl pui între ghilimele de fiecare dată. snake_case evită asta.
URL-uri și nume de fișiere. Folosește kebab-case. Ghidul Google pentru structura URL-urilor recomandă liniuțe în loc de liniuțe de subliniere ca separator între cuvinte, pentru că liniuțele marchează clar limitele cuvintelor. Literele mici evită și linkurile rupte pe serverele care tratează About.html și about.html ca fișiere diferite. Vezi ce este un slug de URL și bunele practici pentru slug-urile URL.
JSON și API-uri. Nu există o regulă unică. Multe API-uri centrate pe JavaScript folosesc camelCase, iar multe back-end-uri Python sau Ruby returnează snake_case. Alege una pentru fiecare API și nu le amesteca niciodată în același răspuns.
Care este cel mai ușor de citit?
Toate trei sunt ușor de citit, odată ce te obișnuiești cu ele. Câteva diferențe practice:
- snake_case și kebab-case păstrează un spațiu clar între cuvinte, ceea ce ajută la nume lungi și la acronime (
html_parservshtmlParservsHTMLParser). - camelCase este mai scurt și nu are nevoie de caractere în plus.
- kebab-case nu poate fi folosit pentru nume de variabile în majoritatea limbajelor, pentru că
user-namese citește causer minus name. - Dublu clic selectează un nume întreg în snake_case sau camelCase în majoritatea editoarelor, dar în kebab-case de obicei se oprește la liniuțe.
Regula reală este consecvența. Un fișier care amestecă userName, user_name și UserName este mai greu de citit decât orice stil folosit peste tot.
Conversia între forme
Vei avea nevoie de conversie când muți date între straturi: created_at dintr-un API Python devine createdAt în JavaScript, un titlu de pagină devine un URL sau un nume de setare devine o variabilă de mediu.
Către kebab-case sau snake_case: folosește generatorul de slug-uri. Lipește cuvintele, câte un nume pe rând, și alege Cratime (-) pentru kebab-case sau Liniuțe de subliniere (_) pentru snake_case. Generatorul transformă totul în minuscule, convertește literele cu diacritice în litere simple și elimină simbolurile. Tratează orice simbol ca separator de cuvinte, deci user_first_name devine user-first-name și invers. Nu desparte însă camelCase: userFirstName devine userfirstname. Pune mai întâi spații între cuvinte.
Către SCREAMING_SNAKE_CASE. Fă versiunea snake_case în generatorul de slug-uri, apoi lipește-o în convertorul gratuit de majuscule și minuscule și apasă MAJUSCULE. Invers, minuscule transformă MAX_RETRIES în max_retries.
Către camelCase sau PascalCase. Nu există un buton dintr-un clic. Cea mai rapidă cale: scrie cuvintele cu spații, apasă Inițiale Mari în convertorul de litere (user first name devine User First Name), apoi șterge spațiile pentru PascalCase sau pune prima literă cu minusculă pentru camelCase.
Multe nume deodată, în cod. Pentru o redenumire mare, folosește găsește-și-înlocuiește din editorul tău cu o expresie regulată. Testeaz-o mai întâi în testerul gratuit de expresii regulate: de exemplu, _([a-z]) găsește fiecare liniuță de subliniere urmată de o literă, adică locul unde snake_case ar avea nevoie de literă mare în camelCase. Multe editoare pot pune majuscule pe litera capturată în înlocuire; verifică documentația editorului pentru sintaxă.
Lucruri de urmărit la conversie
- Acronimele. Hotărăște dacă e
userIdsauuserID,HtmlParsersauHTMLParser, și respectă alegerea. - Numerele.
address_line_2se convertește curat;addressLine2este în regulă; doar nu elimina cifra. - Nume publice. Redenumirea unui câmp JSON sau a unui URL le strică celor care le folosesc. Adaugă o redirecționare pentru URL-uri și păstrează o vreme vechile nume de câmpuri în API-uri.
Convertește-ți textul
Folosește convertorul gratuit de majuscule și minuscule pentru MAJUSCULE, minuscule și Inițiale Mari, iar generatorul de slug-uri pentru kebab-case și snake_case. Ambele funcționează în browser, iar nimic din ce lipești nu părăsește dispozitivul tău.
Întrebări frecvente
- Care este diferența dintre camelCase și snake_case?
- camelCase unește cuvintele și scrie cu literă mare fiecare cuvânt după primul (
firstName). snake_case păstrează cuvintele cu litere mici și le unește cu liniuțe de subliniere (first_name). - Ar trebui să folosesc camelCase sau snake_case în JSON?
- Oricare este bun. Potrivește-te cu limbajul folosit de majoritatea clienților tăi și păstrează consecvența în cadrul API-ului.
- De ce folosește CSS kebab-case?
- CSS a fost gândit cu nume de proprietăți cu liniuțe, cum ar fi
font-size, iar numele de clase urmează de obicei același stil. Liniuțele nu pot fi folosite în majoritatea limbajelor de programare pentru nume de variabile, de aceea JavaScript folosește camelCase pentru aceleași proprietăți. - Este kebab-case bun pentru URL-uri?
- Da. Google recomandă liniuțe pentru a separa cuvintele din URL-uri, iar literele mici evită problemele de sensibilitate la majuscule.
- Poate convertorul de litere să facă camelCase?
- Nu dintr-un clic. Folosește Inițiale Mari, apoi șterge spațiile și pune prima literă cu minusculă. Pentru kebab-case și snake_case, folosește generatorul de slug-uri pentru URL.
Instrumente pentru text
Încearcă Convertor de majuscule și minuscule
Gratuit, fără înregistrare, funcționează în browser. Lipește textul și schimbă-l cu un clic în MAJUSCULE, minuscule sau Titlu.
Și utile
- Generator de slug-uri URLTransformă un titlu într-un slug URL curat, cu litere mici, precum „primul-meu-articol”. Scoate diacriticele și simbolurile. Mai multe titluri deodată.
- Testarea expresiilor regulateTestează o expresie regulată pe textul tău, cu potriviri evidențiate pe măsură ce scrii. Regulile JavaScript; expresiile prea lente se opresc.