Hoppa till innehåll
TextArray

camelCase, snake_case, kebab-case: en utvecklares namnguide

Blog /

När du namnger variabler, funktioner, klasser eller webbadresser spelar formatet du väljer roll. Olika språk och sammanhang har olika konventioner: JavaScript använder camelCase, Python föredrar snake_case, CSS-egenskaper använder kebab-case och konfigurationskonstanter använder CONSTANT_CASE. Att förstå var och en och veta hur man konverterar mellan dem är en praktisk färdighet som håller din kod konsekvent och läsbar.

camelCase: JavaScript-standarden

camelCase börjar med en liten bokstav och versaler den första bokstaven i varje efterföljande ord, utan avgränsare. Variabler och funktionsnamn i JavaScript följer detta mönster: getUserById, calculateTotalPrice, handleSubmitClick. De flesta JSON-nycklar är också camelCase enligt konvention.

Namnet kommer från de "puckel" som versalerna skapar. Den är kompakt, läsbar och de facto standard för JavaScript, TypeScript, Java och C#. När du behöver konvertera text till camelCase – oavsett om du bygger en kodgenerator eller standardiserar variabelnamn – höljeomvandlare hanterar det i en pasta.

snake_case: Python och databaser

snake_case sammanfogar ord med understreck och behåller alla bokstäver gemener: get_user_by_id, calculate_total_price, handle_submit_click. Python-utvecklare använder detta för variabel- och funktionsnamn, enligt PEP 8 stilriktlinjer. SQL kolumn- och tabellnamn använder också ofta snake_case, liksom miljövariabler i de flesta system.

snake_case är läsbar även i kapsyler (DATABASE_PASSWORD, MAX_RETRY_COUNT), vilket är anledningen till att CONSTANT_CASE—versaler snake_case—är den universella konventionen för konfigurationskonstanter och slutvariabler över alla språk.

kebab-case: URL:er och CSS

kebab-case förenar ord med bindestreck och använder alla gemener: get-user-by-id, calculate-total-price. Du ser det överallt i webbadresser – artikel slugs, produktsidor, ruttnamn – eftersom bindestreck är vänliga för sökmotorer och mindre benägna att misstolkas av analyserare än understreck. CSS-klassnamn och anpassade HTML-attribut använder också kebab-case enligt konvention.

Att bygga URL-säkra identifierare eller slug-liknande namn från vanlig text är en av de mest praktiska användningarna. De slug generator konverterar fraser till URL-färdiga kebab-casesträngar, tar bort skiljetecken och accenter längs vägen.

PascalCase: klasser och typer

PascalCase (eller UpperCamelCase) sätter den första bokstaven i versal: GetUserById, CalculateTotalPrice. Det är konventionen för klassnamn, typdefinitioner och komponenter i TypeScript, C#, Java och React. När du arbetar med objektorienterade språk eller komponentramverk är det det här du kommer att nå.

Konvertera mellan format

Att konvertera från en konvention till en annan kräver två steg: först split identifieraren i separata ord, alltså gå med igen dem med målavskiljaren och höljet. Det är där verktyg effektiviserar processen.

Om du har en camelCase-identifierare och behöver förstå dess delar – kanske för att byta namn på den eller matcha en snake_case-version – split camelCase verktyg bryter isär det: getUserById blir get User By Id. När orden väl är åtskilda, höljeomvandlare kan formatera om dem i vilken konvention du behöver. Utvecklare använder också dessa verktyg när de refaktorerar kod över språkgränser eller när de översätter mellan API-specifikationer och interna variabelnamn.

När man ska använda varje konvention

Rätt val beror på sammanhang, inte preferenser. JavaScript och JSON använder camelCase. Python, SQL och miljövariabler använder snake_case. URL:er och CSS använder kebab-case. Typ- och klassnamn använder PascalCase. Konfigurationskonstanter använder CONSTANT_CASE på alla språk. Att följa dessa konventioner gör att din kod omedelbart kan kännas igen för alla som är bekanta med det ekosystemet.

Konsekvens är viktigare än den specifika konventionen – om du blandar format i samma fil eller projekt måste läsarna byta sammanhang och misstag blir lättare. Verktyg för att konvertera och dela identifierare hjälper dig att vara konsekvent när du arbetar på flera språk eller migrerar kod mellan projekt.