Obwohl ich hier speziell auf die Namenskonventionen von C ++ und Bjarne Stroustrup eingehen werde , habe ich im Prinzip gesehen, dass die Leute hier und da etwas ähnliche Regeln für andere Sprachen verwenden.
Die Grundidee ist also, dass man in der Lage sein sollte, Standardtypen von benutzerdefinierten Typen zu unterscheiden, während man den Code liest. Bjarne Stroustrup schlägt zum Beispiel vor, dass man verwendet
ein Anfangsbuchstabe für Typen (zB Square und Graph)
welche unter Berücksichtigung der
Die C ++ - Sprache und die Standardbibliothek verwenden keine Großbuchstaben
ermöglicht das Erreichen des oben genannten Ziels.
Aber warum? müssen wir das tun? Was kann der Zweck sein, standardmäßige und benutzerdefinierte Typen zu unterscheiden?
Bjarne Stroustrups Argumentation dazu konnte ich nicht finden, und außerdem denke ich selbst diametral entgegengesetzt. : Ich weiß, ich weiß, "Wer bin ich, um Stroustrup zu bestreiten?" Hören Sie, eine Reihe von C ++ - Sprachfunktionen, z. B. das Überladen von Operatoren, dienen dem Zweck, benutzerdefinierten Typen eine ähnliche syntaktische Unterstützung wie Standardtypen zu ermöglichen. Und dann wird das alles von einer anderen Benennungsdisziplin verblüfft ...
PS Ganz zu schweigen davon, dass ein Wort oft nicht ausreicht, um eine Klasse zu benennen, und ein durch Unterstriche getrenntes Wort, das mit einem Großbuchstaben beginnt, sieht so fremd aus.
quelle
Antworten:
Es gibt absolut keinen Zweck oder Nutzen in solchen. Eines der Ziele von C ++ war es, UDTs und Primitive austauschbar zu behandeln. Dies ist ein Bereich, in dem Sie nicht differenzieren müssen, obwohl dies nicht ganz gelungen ist.
Wenn es um die Benennung geht, ist Stroustrup verrückt, und dies ist eine wissenschaftlich belegte Tatsache.
quelle
snake_case
für meine Klassen und Namespaces und hatte noch keine Probleme - oder Verwirrung - die dadurch verursacht wurden.Namenskonventionen sollen das menschliche (dh Programmierer und Betreuer) Verständnis des Codes unterstützen.
UDTs können angegeben werden, damit die Deklaration von Variablen, die Initialisierung, Ausdrücke und Anweisungen anders auf sie angewendet werden als dies bei Standardtypen der Fall ist. Für die Fehlersuche ist es für den Betreuer nützlich, einen Hinweis darauf zu haben, dass ein Teil des Codes unkonventionelle Funktionen ausführt (z. B. kann die Implementierung eines benutzerdefinierten Integraltyps, der in einer Funktion verwendet wird, einen Fehler in der Art und Weise der Hinzufügung aufweisen).
Es gibt viele Möglichkeiten, solche Hinweise bereitzustellen (Kommentare, Designspezifikationen usw.). Der Vorteil von Namenskonventionen besteht darin, dass sie im Code vorhanden sind, während Kommentare weggelassen werden können, veraltet sind usw.
quelle
Ein Grund, warum ich für Typen großgeschriebene Wörter verwende, ist die Unterscheidung von Variablen und Typen. Dies erlaubt es, eine Variable mit dem gleichen Namen zu deklarieren, abgesehen von der Großschreibung:
Dies kann für Klassen nützlich sein, von denen in jedem Kontext nur eine Instanz verwendet wird, z. B. Konfigurationseinstellungen.
quelle