Namenskonventionen in der Programmierung â camelCase, snake_case und mehr
Sie öffnen zum ersten Mal eine Codebasis und sehen getUserName, get_user_name und GetUserName alles in derselben Datei. Sofort wissen Sie, dass etwas schiefgelaufen ist. Namenskonventionen sind eine dieser Sachen, die trivial erscheinen, bis man im Team arbeitet â dann werden sie essenziell.
Konsistente Benennung ist keine Frage der persönlichen Vorliebe. Es geht darum, Code fĂŒr die nĂ€chste Person lesbar zu machen, die ihn anfasst â und das ist oft man selbst, sechs Monate spĂ€ter.
Warum Namenskonventionen wichtig sind
Drei Dinge brechen zusammen, wenn einem Projekt konsistente Benennung fehlt:
- Die Lesbarkeit leidet â Wenn sich Variablenstile alle paar Zeilen Ă€ndern, verschwendet Ihr Gehirn Zyklen damit, das Format zu parsen, anstatt die Logik zu verstehen
- Die Teamzusammenarbeit zerbricht â Pull Requests werden zu Schlachtfeldern ĂŒber Stil statt ĂŒber Inhalt. Das Einarbeiten neuer Entwickler dauert lĂ€nger, weil es kein vorhersagbares Muster gibt
- Tooling funktioniert nicht mehr richtig â Linter, Auto-VervollstĂ€ndigung, Code-Generatoren und Refactoring-Tools verlassen sich auf vorhersagbare Benennungsmuster
Die Konvention, die Sie wĂ€hlen, ist weit weniger wichtig als eine zu wĂ€hlen und dabei zu bleiben. Eine Codebasis mit konsistentem snake_case ĂŒberall ist unendlich besser als eine mit drei verschiedenen Stilen.
Der vollstÀndige Leitfaden zu Namenskonventionen
camelCase
Das erste Wort ist kleingeschrieben, und jedes folgende Wort beginnt mit einem GroĂbuchstaben. Keine Trennzeichen.
// JavaScript / TypeScript
const userName = "Alice";
let itemCount = 42;
function getUserProfile(userId) {
return fetchData(`/users/${userId}`);
}
Wo es verwendet wird: JavaScript, TypeScript und Java verwenden camelCase fĂŒr Variablen, Funktionsnamen und Methodennamen. Es ist auch der Standard in Swift fĂŒr lokale Variablen und Funktionsparameter.
PascalCase
Jedes Wort beginnt mit einem GroĂbuchstaben. Auch UpperCamelCase genannt.
// TypeScript / C#
class UserProfile {
firstName: string;
lastName: string;
}
interface DatabaseConnection {
host: string;
port: number;
}
// React-Komponente
function NavigationBar({ items }: NavProps) {
return <nav>{/* ... */}</nav>;
}
Wo es verwendet wird: C# verwendet PascalCase fĂŒr fast alles Ăffentliche â Klassen, Methoden, Eigenschaften. TypeScript und JavaScript verwenden es fĂŒr Klassen, Interfaces, Typ-Aliase und Enums. React verlangt PascalCase fĂŒr Komponentennamen, weil JSX Komponenten von HTML-Elementen unterscheiden muss.
In Go hat PascalCase eine besondere Bedeutung: Jeder Bezeichner, der mit einem GroĂbuchstaben beginnt, ist exportiert (öffentlich).
snake_case
Alle Wörter klein geschrieben, getrennt durch Unterstriche.
# Python
user_name = "Alice"
item_count = 42
def get_user_profile(user_id):
return fetch_data(f"/users/{user_id}")
class UserProfile:
def __init__(self, first_name, last_name):
self.first_name = first_name
self.last_name = last_name
Wo es verwendet wird: Python verwendet snake_case fĂŒr praktisch alles auĂer Klassennamen. Ruby folgt demselben Muster. Rust verwendet snake_case fĂŒr Variablen, Funktionen und Module. Datenbankschemas verwenden fast universell snake_case fĂŒr Tabellen- und Spaltennamen.
SCREAMING_SNAKE_CASE
Alles in GroĂbuchstaben mit Unterstrichen. Reserviert fĂŒr Konstanten und Werte, die sich nie Ă€ndern sollten.
// Konstanten in den meisten Sprachen
const MAX_RETRY_COUNT = 3;
const API_BASE_URL = "https://api.example.com";
const DEFAULT_TIMEOUT_MS = 5000;
Wo es verwendet wird: Nahezu jede Sprache verwendet SCREAMING_SNAKE_CASE fĂŒr Konstanten. Das GroĂbuchstaben-Format ist ein universelles Signal: âWeise diesen Wert nicht neu zu."
kebab-case
Alles kleingeschrieben mit Bindestrichen als Trennzeichen.
/* CSS-Klassennamen */
.navigation-bar {
background-color: #1a1a2e;
}
.user-profile-card {
border-radius: 8px;
}
# CLI-Flags
npm install --save-dev eslint
git commit --no-verify
Wo es verwendet wird: CSS und HTML bevorzugen stark kebab-case. URL-Slugs verwenden es. CLI-Tools und Kommandozeilen-Flags folgen ihm.
kebab-case kann in den meisten Programmiersprachen nicht fĂŒr Variablennamen verwendet werden, weil der Bindestrich als Minus-Operator interpretiert wird.
dot.case
Wörter getrennt durch Punkte.
// Java-Paketnamen
package com.example.userservice.controllers;
import org.springframework.boot.SpringApplication;
Wo es verwendet wird: Java-Paketbenennung, Dateierweiterungen, Konfigurationseigenschafts-SchlĂŒssel in Spring Boot und Ă€hnlichen Frameworks.
Title Case
Jedes wichtige Wort wird groĂgeschrieben. Kleinere Wörter wie âund", âder" und âvon" bleiben klein, es sei denn, sie beginnen den Satz.
Wo es verwendet wird: UI-Ăberschriften, Seitentitel, MenĂŒelemente, Dokumentationsabschnitte und Eigennamen.
path/case
Wörter getrennt durch SchrÀgstriche, die Dateisystem- oder Namespace-Konventionen folgen.
Wo es verwendet wird: Dateisystempfade, Modulpfade, Namespace-Hierarchien und URL-Routing-Strukturen.
Sprachspezifische Konventionstabelle
| Sprache | Variablen / Funktionen | Klassen / Typen | Konstanten | Dateien |
|---|---|---|---|---|
| JavaScript / TypeScript | camelCase | PascalCase | SCREAMING_SNAKE_CASE | kebab-case oder camelCase |
| Python | snake_case | PascalCase | SCREAMING_SNAKE_CASE | snake_case |
| Go | camelCase (nicht exportiert) | PascalCase (exportiert) | PascalCase oder ALL_CAPS | snake_case |
| Rust | snake_case | PascalCase | SCREAMING_SNAKE_CASE | snake_case |
| Java | camelCase | PascalCase | SCREAMING_SNAKE_CASE | PascalCase |
| C# | camelCase (privat) | PascalCase (öffentlich) | PascalCase | PascalCase |
| Ruby | snake_case | PascalCase | SCREAMING_SNAKE_CASE | snake_case |
| CSS | kebab-case | â | â | kebab-case |
| SQL | snake_case (Spalten) | â | GROSSBUCHSTABEN (SchlĂŒsselwörter) | snake_case |
| PHP | camelCase | PascalCase | SCREAMING_SNAKE_CASE | PascalCase |
HĂ€ufige Fehler und wie man sie behebt
1. Konventionen im selben Bereich mischen
// â Inkonsistent
const user_name = "Alice";
const itemCount = 42;
const MaxRetries = 3;
// â
Konsistentes camelCase
const userName = "Alice";
const itemCount = 42;
const maxRetries = 3;
2. Die falsche Konvention fĂŒr die Sprache verwenden
# â camelCase in Python verwenden
def getUserProfile(userId):
userName = fetchUser(userId)
return userName
# â
snake_case wie Python es erwartet
def get_user_profile(user_id):
user_name = fetch_user(user_id)
return user_name
3. AbkĂŒrzungen und Akronyme
// â Inkonsistente Akronymbehandlung
const XMLParser = new XmlParser();
const htmlToJSON = convert(HTMLString);
// â
Akronyme als Wörter behandeln
const xmlParser = new XmlParser();
const htmlToJson = convert(htmlString);
4. Boolean-Namen ohne is/has/can-PrÀfixe
// â Mehrdeutiger Boolean
const active = true;
// â
Klare Boolean-Absicht
const isActive = true;
Automatische Konvertierung zwischen Konventionen
Wenn Sie zwischen Sprachen arbeiten, ist die manuelle Konvertierung von Namenskonventionen mĂŒhsam und fehleranfĂ€llig.
Unser String Case Converter erledigt das automatisch. FĂŒgen Sie einen beliebigen Bezeichner ein und konvertieren Sie ihn zwischen camelCase, PascalCase, snake_case, kebab-case und mehr mit einem einzigen Klick.
Weitere LektĂŒre
- JSON Formatting Best Practices â Strukturieren Sie Ihre Daten so sauber wie Sie Ihre Variablen benennen
- Regex Cheat Sheet â Musterabgleich-Referenz fĂŒr Validierung und Textverarbeitung
- SQL Formatting Best Practices â Schreiben Sie lesbare SQL-Abfragen
Bereit, Namenskonventionen automatisch zu konvertieren? Probieren Sie unseren String Case Converter â fĂŒgen Sie einen beliebigen Bezeichner ein und transformieren Sie ihn zwischen camelCase, snake_case, PascalCase, kebab-case und mehr. Keine Registrierung, keine Daten an Server gesendet, komplett kostenlos.