private const int THE_ANSWER = 42;
oder
private const int theAnswer = 42;
Persönlich denke ich, dass wir mit modernen IDEs mit camelCase arbeiten sollten, da ALL_CAPS seltsam aussieht. Was denken Sie?
c#
naming-conventions
const
mmiika
quelle
quelle
theAnswer
. Früher war ich ein ungarischer Notationsfan, aber seit ich gelernt habe, es nicht zu benutzen, liebe ich es, Metaangaben bei der Benennung strikt zu vermeiden. Gleiches gilt für Schnittstellen wieIInterface
. Ich bevorzugeInterfacable
. Aber wenn ich in einem Team arbeite, muss ich die Regeln einhalten :(Antworten:
Die empfohlene Namens- und Großschreibungskonvention besteht darin, P ascal C asing für Konstanten zu verwenden (Microsoft verfügt über ein Tool namens StyleCop , das alle bevorzugten Konventionen dokumentiert und Ihre Quelle auf Konformität überprüfen kann - obwohl es für den Geschmack vieler Menschen etwas zu anal ist). . z.B
Die Pascal-Großschreibungskonvention ist auch in den Framework Design Guidelines von Microsoft dokumentiert .
quelle
Optisch ist Großbuchstaben der richtige Weg. Es ist so erkennbar. Aus Gründen der Einzigartigkeit und ohne die Möglichkeit zu raten, stimme ich für UPPER_CASE!
Hinweis : Der Großbuchstabe ist nützlich, wenn Konstanten in derselben Datei oben auf der Seite und für Intellisense-Zwecke verwendet werden sollen. Wenn sie jedoch in eine unabhängige Klasse verschoben würden, würde die Verwendung von Großbuchstaben als Beispiel keinen großen Unterschied machen:
quelle
Eigentlich ist es so
Zumindest wenn Sie sich die .NET-Bibliothek ansehen, welche IMO der beste Weg ist, um Namenskonventionen zu bestimmen - damit Ihr Code nicht fehl am Platz aussieht.
quelle
Ich gehe immer noch mit dem Großbuchstaben für konstante Werte, aber dies ist eher aus Gewohnheit als aus irgendeinem bestimmten Grund.
Natürlich macht es leicht, sofort zu erkennen, dass etwas eine Konstante ist. Die Frage an mich ist: Brauchen wir diese Informationen wirklich? Hilft es uns in irgendeiner Weise, Fehler zu vermeiden? Wenn ich der Konstante einen Wert zuweise, sagt mir der Compiler, dass ich etwas Dummes getan habe.
Mein Fazit: Geh mit der Kamelhülle. Vielleicht ändere ich auch meinen Stil ;-)
Bearbeiten:
Dass etwas ungarisch riecht, ist kein wirklich gültiges Argument, IMO. Die Frage sollte immer sein: Hilft es oder tut es weh?
Es gibt Fälle, in denen Ungarisch hilft. Nicht so viele heutzutage, aber sie existieren immer noch.
quelle
Erstens ist die ungarische Notation die Praxis, ein Präfix zu verwenden, um den Datentyp oder die beabsichtigte Verwendung eines Parameters anzuzeigen. Die Namenskonventionen von Microsoft für sagen Nein zur ungarischen Notation http://en.wikipedia.org/wiki/Hungarian_notation http://msdn.microsoft.com/en-us/library/ms229045.aspx
Die Verwendung von UPPERCASE wird nicht empfohlen, wie hier angegeben: Pascal Case ist die akzeptable Konvention und SCREAMING CAPS. http://en.wikibooks.org/wiki/C_Sharp_Programming/Naming
Microsoft gibt hier auch an, dass UPPERCASE verwendet werden kann, wenn dies dem vorhandenen Schema entspricht. http://msdn.microsoft.com/en-us/library/x2dbyw72.aspx
Das fasst es ziemlich gut zusammen.
quelle
In seinem Artikel Konstanten (C # -Programmierhandbuch) gibt Microsoft das folgende Beispiel an:
Für Konstanten scheint Microsoft die Verwendung von zu empfehlen
camelCasing
. Beachten Sie jedoch, dass diese Konstanten lokal definiert sind .Die Benennung von extern sichtbaren Konstanten ist wohl von größerem Interesse. In der Praxis dokumentiert Microsoft seine öffentlichen Konstanten in der .NET-Klassenbibliothek als Felder . Hier sind einige Beispiele:
static readonly
)Die ersten beiden sind Beispiele für
PascalCasing
. Das dritte scheint den Kapitalisierungskonventionen von Microsoft für ein aus zwei Buchstaben bestehendes Akronym zu folgen (obwohl pi kein Akronym ist). Und der vierte scheint darauf hinzudeuten, dass sich die Regel für ein aus zwei Buchstaben bestehendes Acryonym auf ein einzelnes Buchstaben-Akronym oder einen Bezeichner wieE
(der die mathematische Konstante e darstellt ) erstreckt.Darüber hinaus gibt Microsoft in seinem Dokument "Kapitalisierungskonventionen" sehr direkt an, dass Feldkennungen über benannt werden sollen,
PascalCasing
und gibt die folgenden Beispiele für MessageQueue.InfiniteTimeout und UInt32.Min an :Schlussfolgerung: Verwendung
PascalCasing
für öffentliche Konstanten (die alsconst
oderstatic readonly
Felder dokumentiert sind).Schließlich befürwortet Microsoft meines Wissens keine spezifischen Namens- oder Großschreibungskonventionen für private Kennungen, wie in den in der Frage dargestellten Beispielen gezeigt.
quelle
Überlassen Sie Ungarisch den Ungarn.
Im Beispiel würde ich sogar den endgültigen Artikel weglassen und einfach mitmachen
Ist das die Antwort oder ist das die Antwort?
* Bearbeiten als Pascal streng korrekt gemacht, aber ich dachte, die Frage suchte eher nach einer Antwort auf das Leben, das Universum und alles .
quelle
The
wenn ich könnte. :-)Eigentlich bevorzuge ich hier PascalCase - aber aus Gewohnheit bin ich an UPPER_CASE schuld ...
quelle
Das ALL_CAPS stammt aus der C- und C ++ - Arbeitsweise, glaube ich. Dieser Artikel hier erklärt, wie die Stilunterschiede entstanden sind.
In den neuen IDEs wie Visual Studio ist es einfach, die Typen, den Umfang und die Konstanten zu identifizieren, sodass dies nicht unbedingt erforderlich ist.
Mit der FxCop- und Microsoft StyleCop- Software erhalten Sie Richtlinien und können Ihren Code überprüfen, damit alle auf die gleiche Weise arbeiten.
quelle