Zum Inhalt springen
Allin

camelCase vs. snake_case: Ein Leitfaden zu Namenskonventionen im Code

Veröffentlicht am 20.6.2025 · 3 Min. Lesezeit · Entwickler-Tools

Daniel Okonkwo

Daniel OkonkwoFront-end-Entwickler und Tech-Redakteur bei Allin

Web-Performance · Dateiformate

Anhand von 2 Quellen geprüft

Profil ansehen
Kurz gesagt

camelCase verbindet Wörter ohne Leerzeichen und schreibt jedes Wort außer dem ersten groß, wie firstName. snake_case nutzt Kleinbuchstaben-Wörter, verbunden durch Unterstriche, wie first_name. PascalCase schreibt jedes Wort groß, wie FirstName, und kebab-case verbindet Kleinbuchstaben-Wörter mit Bindestrichen, wie first-name. Die richtige Wahl bestimmt deine Sprache und ihr Styleguide: camelCase für JavaScript-Variablen, snake_case für Python, PascalCase für Klassennamen, kebab-case für URLs und CSS.

camelCase, snake_case, PascalCase und kebab-case erklärt: wie jede aussieht, wo sie Konvention ist und wie man eine konsequent wählt.

Die vier Konventionen auf einen Blick

Alle vier lösen dasselbe Problem: Bezeichner dürfen keine Leerzeichen enthalten, also brauchen Namen aus mehreren Wörtern eine Verbindungsregel. camelCase schreibt myUserName und schreibt jedes Wort außer dem ersten groß. PascalCase, auch UpperCamelCase genannt, schreibt auch das erste Wort groß und ergibt MyUserName. snake_case schreibt alles klein und verbindet mit Unterstrichen, my_user_name. kebab-case macht dasselbe mit Bindestrichen, my-user-name.

Die Unterschiede sind für einen Menschen rein stilistisch, für einen Computer aber nicht: myUserName und my_user_name sind verschiedene Bezeichner. Deshalb muss das Umwandeln zwischen Konventionen bewusst erfolgen, und deshalb ist ein Bruch zwischen dem Namen einer Datenbankspalte und dem, was dein Code erwartet, eine klassische Fehlerquelle.

Wo jede Konvention die Norm ist

Konventionen legen die Sprach-Communities fest. JavaScript und Java nutzen camelCase für Variablen und Funktionen und PascalCase für Klassen und Typen. Python und Ruby bevorzugen snake_case für Variablen und Funktionen und reservieren PascalCase für Klassen. C# verwendet PascalCase für Methoden und Eigenschaften. kebab-case ist in Code selten, weil Bindestriche wie Minuszeichen gelesen werden, herrscht aber bei URLs, CSS-Klassennamen und HTML-Attributen.

Ein Sonderfall ist die Konstante. Viele Sprachen schreiben Kompilierzeit-Konstanten in SCREAMING_SNAKE_CASE, einem durchgängig großgeschriebenen snake_case wie MAX_RETRIES. Das signalisiert auf einen Blick, dass sich der Wert nie ändern soll, und ist einer der wenigen Orte, an denen großgeschriebenes snake_case idiomatisch ist.

Konsequent wählen und umwandeln

Die wichtigste Regel ist Konsistenz innerhalb einer Codebasis. Mische nicht firstName und first_name für dasselbe Konzept. Wenn du eine Grenze überschreitest, etwa snake_case-Spalten aus einer Datenbank in eine camelCase-Anwendung liest, wandle an der Kante an einer klar benannten Stelle um, statt Umwandlungen überall zu verstreuen.

Die Umwandlung ist mechanisch: zerlege den Namen in Wörter und füge sie mit der Zielregel wieder zusammen. Knifflig ist nur das Zerlegen, weil camelCase kein Trennzeichen hat. Ein Konverter erkennt Wortgrenzen an jedem Großbuchstaben, während snake_case und kebab-case an ihrem Trennzeichen zerlegt werden, sodass du einen Namen zuverlässig zwischen zwei Stilen bewegen kannst.

Programmier-Schreibweisen-KonverterWandle Bezeichner zwischen camelCase, snake_case, kebab-case, PascalCase und CONSTANT_CASE um, einer pro Zeile. Großbuchstabenfolgen werden korrekt getrennt: parseHTTPResponse wird parse_http_response.Tool ausprobieren

Häufige Fragen

Was ist der Unterschied zwischen camelCase und PascalCase?
Nur der erste Buchstabe. camelCase beginnt klein (userName); PascalCase schreibt auch das erste Wort groß (UserName). PascalCase heißt auch UpperCamelCase.
Warum wird kebab-case nicht für Variablennamen genutzt?
Weil die meisten Sprachen den Bindestrich als Subtraktionsoperator lesen, sodass first-name als first minus name geparst würde. In URLs, CSS und HTML ist er sicher, dort ist der Bindestrich nur ein Zeichen.
Welche Konvention soll ich für die JSON-Felder einer REST-API nutzen?
Es gibt keine einzelne Regel, aber camelCase und snake_case sind beide verbreitet. Wähle eine, dokumentiere sie und halte alle Felder der API konsistent, damit Clients sich darauf verlassen können.
Gibt es einen Namen für GROSSBUCHSTABEN mit Unterstrichen?
Ja, es heißt SCREAMING_SNAKE_CASE oder Upper Snake Case. Es ist die übliche Konvention für Konstanten, wie MAX_SIZE oder API_KEY.

Artikel, die dich interessieren könnten

Alle Ratgeber
ErklärungDie Caesar-Chiffre erklärt: So funktionieren Verschiebechiffren und ROT13Die Caesar-Chiffre verschiebt jeden Buchstaben um einen festen Betrag. Erfahre, wie die Verschiebung funktioniert, warum ROT13 ein Sonderfall ist, wie man von Hand ver- und entschlüsselt und warum die Chiffre heute keine echte Sicherheit bietet.AnleitungJSON in CSV umwandeln: Arrays von Objekten in Zeilen und Spalten überführenEine praktische Anleitung, um ein JSON-Array von Objekten in eine saubere CSV-Datei zu verwandeln, samt Abflachen verschachtelter Felder und heikler Sonderfälle.ErklärungWas ist ein URL-Slug? Warum klein, mit Bindestrichen und gut für SEOEin URL-Slug ist der lesbare, mit Bindestrichen versehene Teil einer Webadresse, der eine Seite benennt. Erfahre, warum Slugs klein sind, wie sie der SEO helfen und wie man einen aus einem Titel erzeugt.VergleichcamelCase, snake_case, kebab-case: welche - und warum du selten die Wahl hastDie Konventionen sind keine Geschmacksfrage. Der Bindestrich ist der Minus-Operator, deshalb kann kebab-case in den meisten Sprachen kein Bezeichner sein - und genau darum nutzen CSS und URLs ihn. Dazu der Akronym-Rundtrip, der Namen stillschweigend zerstört, und die Regel, die ihn heilt.AnleitungRegex-Grundlagen: EinsteigerleitfadenEin regulärer Ausdruck ist ein Muster zum Abgleichen von Text. Hier die Bausteine — Zeichenklassen, Quantoren und Anker — mit Beispiel.ErklärungEinen String für JSON escapen: drei Zeichen sind Pflicht, und eines ist eine FalleRFC 8259 verlangt genau drei Dinge, die in einem JSON-String escaped werden müssen. Alles andere ist optional. Was Pipelines wirklich zerlegt, ist ein einzelnes Surrogat: in JSON-Text legal, in UTF-8 unmöglich und stillschweigend ersetzt, sobald deine Daten geschrieben werden.

Ähnliche Tools

Quellen

Hast du einen Fehler in diesem Artikel entdeckt?