Was PascalCase ist
PascalCase entfernt die Leerzeichen zwischen den Wörtern und gibt jedem Wort einen großen Anfangsbuchstaben:
user profile cardwird zuUserProfileCardorder_line_itemwird zuOrderLineItemhttpClientwird zuHttpClient
Vom camelCase unterscheidet es sich nur in einem Punkt: Auch der erste Buchstabe ist groß.
Für Deutschsprachige ist das Prinzip vertraut, denn deutsche Komposita entstehen ähnlich. Nur dass „Kundennummer“ ein Wort bleibt, während im Code CustomerNumber aus zwei sichtbaren Teilen besteht.
So funktioniert der Konverter
Für jede Zeile findet das Tool die Wörter, schreibt den ersten Buchstaben jedes Wortes groß, den Rest klein und verbindet sie. Es versteht Wörter, die durch Leerzeichen, Unterstriche, Bindestriche und Punkte getrennt sind, und es trennt vorhandene Namen in camelCase an ihren Großbuchstaben. Apostrophe und Satzzeichen werden entfernt.
| Eingabe | Ausgabe |
|---|---|
| user profile card | UserProfileCard |
| order_line_item | OrderLineItem |
| nav-bar-item | NavBarItem |
| getUserById | GetUserById |
| payment gateway response | PaymentGatewayResponse |
Umlaute und ß bleiben erhalten: Aus „Kundennummer prüfen“ wird KundennummerPrüfen. Viele Sprachen erlauben das in Bezeichnern, in den meisten Projekten sind Klassennamen aber englisch und reines ASCII. Ersetze ä, ö, ü und ß bei Bedarf vorher durch ae, oe, ue und ss.
Wo PascalCase verwendet wird
- Klassennamen in Java, C#, Python, TypeScript, Swift, Kotlin und den meisten anderen objektorientierten Sprachen
- Komponenten in React, Vue und Svelte:
UserCard,NavBar - Typen und Interfaces in TypeScript:
UserProfile,ApiResponse - C#: Methoden- und Eigenschaftsnamen sowie Klassen
- Go: exportierte Funktionen und Typen, die mit einem Großbuchstaben beginnen müssen, damit sie außerhalb ihres Pakets sichtbar sind
- Enum-Namen in vielen Sprachen
Eine nützliche Faustregel für die meisten Sprachen: Dinge, von denen du Instanzen erzeugst (Klassen, Typen, Komponenten), stehen in PascalCase, und die Instanzen selbst in camelCase oder snake_case. Eine Klasse UserProfile ergibt also eine Variable userProfile.
Typische Umwandlungen
Datenbanktabellen in Modellklassen. Eine Tabelle namens order_line_items entspricht meist einer Klasse namens OrderLineItem. Füge deine Tabellennamen ein, wandle die Liste um und entferne bei Bedarf den Plural.
Dateinamen in Komponentennamen. Eine Datei namens user-card.jsx exportiert meist eine Komponente namens UserCard.
Beschreibungen in Typnamen. Tippe „api error response“ und bekomme ApiErrorResponse.
Tipps für gute Namen
- Nimm Substantive für Klassen und Typen:
Invoice, nichtProcessInvoice. - Vermeide Abkürzungen, die nur du verstehst.
CustomerAddressist klarer alsCustAddr. - Entscheide dich für eine Regel bei Abkürzungen (
HttpClientoderHTTPClient) und halte sie im ganzen Projekt ein.