x

Einloggen

Hast du noch keinen Account? Jetzt registrieren!

Namenskonvention: Unterstriche vs. Camelcase

In der Vergangenheit gab es viele Namenskonventionen, aber es scheint, dass lediglich zwei davon die Lieblinge der Programmierer sind. Zum einen der Unterstrich und zum andern Camelcase. Sicher kann man sich streiten, dass es auch noch andere beliebte Konventionen gibt, aber vergleichen wir für den Augenblick nur diese beiden und lassen Programmierer abstimmen, welche sie bevorzugen. Am Ende ist ein Programmierer meist sowieso vom Standard der Sprache abhängig, die er verwendet. Aber das hält mich nicht von diesem Vergleich ab, wenn auch ein wenig aus dem Kontext gerissen.

Bei der Unterstrich-Konvention werden nur Kleinbuchstaben verwendet, die mit einem Unterstrich getrennt werden. Allgemein wird diese Art für die Namen von Variablen und Funktionen benutzt. Die Pascal-Konvention hingegen wird normalerweise für Klassen, Strukturen, Aufzählungen und Schnittstellen eingesetzt. Unterstriche wurden von C-Programmierern verwendet, dann übernahm C++ dieselbe Konvention für seine Schlüsselwörter und Standard Templates Library. Später wurde diese Konvention auf für Boost übernommen, womit sie recht beliebt unter den C++ Programmierern wurde, aber nicht dominierte, da andere Programmierer verschiedene andere Konventionen einschliesslich Pascal und Camelcase einsetzten. Die Unterstrich-Konvention wird für die PHP-Standardbibliotheken verwendet und kann gut und gerne als Standard für PHP-Entwickler bezeichnet werden. Wie ich gehört habe, verwendet auch Ruby Unterstriche.

Andererseits ist die Camelcase-Konvention bestens als Standard für Java und seine kleine Schwester JavaScript bekannt, auch wenn du sie an verschiedenen anderen Stellen entdecken kannst. Bei Camelcase fängt jedes Wort ausser dem ersten Wort mit einem Grossbuchstaben an. Die Wörter werden offensichtlich nicht durch Unterstriche voneinander getrennt. Wie auch die Unterstrich-Konvention kommt auch diese hauptsächlich für Variablen und Funktionen zum Einsatz. Für Typnamen(Klassen, Strukturen, Schnittstellen, Aufzählungen) wird hingegen die Pascal-Konvention eingesetzt. C# verwendet eine Variante dieser Konvention und begrenzt Camelcase auf Funktionsparameter und lokale Variablen.

Natürlich hat jede dieser beiden Konventionen Vor- und Nachteile. Die folgende Auflistung fasst diese zusammen:
  • Unterstriche sorgen für eine bessere Lesbarkeit von Sätzen. Beispiel: Unterstrich_Namenskonvention vs. camelCaseNamenskonvention.
  • Mit Camelcase sind Paragraphen besser lesbar! Was ist das Wichtigste beim Lesen von Code? Dass du die Funktionsweise oder Algorithmus, aber nicht die Wörter in einem Satz verstehen kannst. Siehe das folgende Beispiel:  meine_erste_variable=meine_zweite_variable-meine_dritte_variable;    vs.    meineErsteVariable=meineZweiteVariable-meineDritteVariable; Offensichtlich ist in diesem Beispiel Camelcase einfacher zu lesen. Auf den ersten Blick kannst du die Subtraktion zwischen den beiden Variablen erkennen. Hingegen musst du bei den Unterstrichen schon genauer hinschauen, um das Minus-Zeichen zu erkennen. Du könntest es sogar für eine längere Variable anstatt zwei Variablen deuten. Dies ist ein grosser Nachteil der Unterstrich-Konvention, jedoch kann dieses Problem durch eine entsprechende Farbgebung gelöst werden, wenn der Editor den Identifikatoren eine verschiedene Farbe als den Operatoren zuweist, aber das ist abhängig vom Editor.
  • Camelcase ist das Gegenteil von Englisch. Im Englischen beginnt das erste Wort im Satz mit einem Grossbuchstaben und der Rest wird in Kleinbuchstaben geschrieben. Auch in vielen anderen Sprachen ist das der Fall. Camelcase ist das exakte Gegenteil. Das ist schon recht verwirrend.
  • Unterstriche sind schwerer einzugeben. Sogar mit der Intellisense-Funktion musst du in vielen Fällen den Unterstrich selber eingeben.
  • Camelcase ist nicht konsistent, da du mit Konstanten (alles Grossbuchstaben) weiterhin Unterstriche benötigst. Andererseits, KANN die Unterstrich-Konvention einheitlich sein (wenn du auch für Typnamen Unterstriche verwendest, z.B. Mein_Typ anstatt MeinTyp).
Kennst du noch mehr Vor- oder Nachteile? Welche Namenskonvention bevorzugst du?
718 Mal gelesen
+2
17. Feb 2011, 20:47

Kommentare

(0)
RSS

Kommentieren

Fett Kursiv Unterstrichen Durchgestrichen   Link Zitieren Code
Ich bin mit den Nutzungsbedingungen einverstanden.
Zukünftige Kommentare zu diesem Beitrag abonnieren (abbestellbar).
 
Bitte klicke jetzt auf den Bestätigungslink in deiner E-Mail.