camelCase, snake_case, kebab-case: een naamgevingsgids voor ontwikkelaars
Wanneer u variabelen, functies, klassen of URL's een naam geeft, is de indeling die u kiest van belang. Verschillende talen en contexten hebben verschillende conventies: JavaScript gebruikt camelCase, Python geeft de voorkeur aan snake_case, CSS-eigenschappen gebruiken kebab-case en configuratieconstanten gebruiken CONSTANT_CASE. Het begrijpen van elke code en weten hoe u deze kunt converteren, is een praktische vaardigheid die uw code consistent en leesbaar houdt.
camelCase: de JavaScript-standaard
camelCase begint met een kleine letter en geeft de eerste letter van elk volgend woord een hoofdletter, zonder scheidingstekens. Variabelen en functienamen in JavaScript volgen dit patroon: getUserById, calculateTotalPrice, handleSubmitClick. De meeste JSON-sleutels zijn volgens afspraak ook camelCase.
De naam komt van de "bulten" die de hoofdletters creëren. Het is compact, leesbaar en de de facto standaard voor JavaScript, TypeScript, Java en C#. Wanneer u tekst moet converteren naar camelCase (of u nu een codegenerator bouwt of namen van variabelen standaardiseert) koffer converter verwerkt het in één pasta.
snake_case: Python en databases
snake_case voegt woorden samen met onderstrepingstekens en behoudt alle letters in kleine letters: get_user_by_id, calculate_total_price, handle_submit_click. Python-ontwikkelaars gebruiken dit voor variabele- en functienamen, volgens de PEP 8-stijlrichtlijnen. SQL-kolom- en tabelnamen gebruiken ook vaak snake_case, net als omgevingsvariabelen in de meeste systemen.
snake_case is zelfs in hoofdletters leesbaar (DATABASE_PASSWORD, MAX_RETRY_COUNT), en daarom is CONSTANT_CASE (hoofdletter snake_case) de universele conventie voor configuratieconstanten en eindvariabelen in elke taal.
kebab-case: URL's en CSS
kebab-case verbindt woorden met koppeltekens en gebruikt alleen kleine letters: get-user-by-id, calculate-total-price. Je ziet het overal in URL's (artikel slugs, productpagina's, routenamen) omdat koppeltekens vriendelijk zijn voor zoekmachines en minder snel verkeerd worden geïnterpreteerd door parsers dan onderstrepingstekens. CSS-klassenamen en aangepaste HTML-kenmerken gebruiken volgens afspraak ook kebab-case.
Het bouwen van URL-veilige identificatiegegevens of slug-achtige namen uit platte tekst is een van de meest praktische toepassingen. De slug-generator converteert zinnen naar URL-ready kebab-tekenreeksen, waarbij interpunctie en accenten onderweg worden verwijderd.
PascalCase: klassen en typen
PascalCase (of UpperCamelCase) geeft de eerste letter een hoofdletter: GetUserById, CalculateTotalPrice. Het is de conventie voor klassenamen, typedefinities en componenten in TypeScript, C#, Java en React. Als u met objectgeoriënteerde talen of componentframeworks werkt, is dit waar u naar zult streven.
Converteren tussen formaten
Het omzetten van de ene conventie naar de andere vereist twee stappen: ten eerste gesplitst de identifier vervolgens in afzonderlijke woorden weer meedoen ze met de doelafscheider en behuizing. Dat is waar tools het proces stroomlijnen.
Als je een camelCase-ID hebt en de onderdelen ervan wilt begrijpen (misschien om de naam ervan te wijzigen of een snake_case-versie te matchen), dan gespleten kameelCase tool breekt het uit elkaar: getUserById wordt get User By Id. Zodra de woorden zijn gescheiden, wordt de koffer converter kunt ze opnieuw formatteren in elke gewenste conventie. Ontwikkelaars gebruiken deze tools ook bij het herstructureren van code over taalgrenzen heen of bij het vertalen tussen API-specificaties en interne variabelenamen.
Wanneer elke conventie gebruiken?
De juiste keuze hangt af van de context, niet van voorkeur. JavaScript en JSON gebruiken camelCase. Python-, SQL- en omgevingsvariabelen gebruiken snake_case. URL's en CSS gebruiken kebab-case. Type- en klassenamen gebruiken PascalCase. Configuratieconstanten gebruiken CONSTANT_CASE in alle talen. Door deze conventies te volgen, wordt uw code onmiddellijk herkenbaar voor iedereen die bekend is met dat ecosysteem.
Consistentie is belangrijker dan de specifieke conventie: als je formaten in hetzelfde bestand of project combineert, moeten lezers van context wisselen en worden fouten gemakkelijker. Met tools voor het converteren en splitsen van ID's blijft u consistent wanneer u in meerdere talen werkt of code tussen projecten migreert.