545 Stimmen

C#-Namenskonvention für Konstanten?

private const int THE_ANSWER = 42;

o

private const int theAnswer = 42;

Persönlich denke ich, mit modernen IDEs sollten wir mit camelCase gehen, da ALL_CAPS seltsam aussieht. Was denken Sie?

644voto

Greg Beech Punkte 127525

Die empfohlene Konvention für die Benennung und Großschreibung ist die Verwendung von P ascal C asing für Konstanten (Microsoft hat ein Tool namens StyleCop das alle bevorzugten Konventionen dokumentiert und Ihre Quelle auf Übereinstimmung mit diesen Konventionen überprüfen kann - auch wenn es ein wenig schwierig ist zu für den Geschmack vieler Menschen sehr zurückhaltend). z.B.

private const int TheAnswer = 42;

Die Pascal-Kapitalisierungskonvention ist auch in Microsofts Rahmengestaltungsrichtlinien .

112voto

usefulBee Punkte 8632

Optisch ist die Großschreibung der richtige Weg. Auf diese Weise ist sie besser zu erkennen. Im Interesse der Einzigartigkeit und um keine Möglichkeit des Erratens zu lassen, stimme ich für UPPER_CASE!

const int THE_ANSWER = 42;

Hinweis : Die Großschreibung ist nützlich, wenn Konstanten innerhalb derselben Datei am Anfang der Seite und für Intellisense-Zwecke verwendet werden sollen; wenn sie jedoch in eine unabhängige Klasse verschoben werden sollen, würde die Großschreibung keinen großen Unterschied machen, als Beispiel:

public static class Constant
{
    public static readonly int Cons1 = 1;
    public static readonly int coNs2 = 2;
    public static readonly int cOns3 = 3;
    public static readonly int CONS4 = 4;
}

// Call constants from anywhere
// Since the class has a unique and recognizable name, Upper Case might lose its charm
private void DoSomething(){
var getCons1 = Constant.Cons1;
var getCons2 = Constant.coNs2;
var getCons3 = Constant.cOns3;
var getCons4 = Constant.CONS4;
 }

83voto

bh213 Punkte 6102

Tatsächlich ist es so, dass

private const int TheAnswer = 42;

Zumindest wenn man sich die .NET-Bibliothek ansieht, die IMO der beste Weg ist, um Namenskonventionen festzulegen - damit Ihr Code nicht fehl am Platz wirkt.

26voto

Treb Punkte 19459

Bei const-Werten verwende ich immer noch Großbuchstaben, aber eher aus Gewohnheit als aus einem bestimmten Grund.

Das macht es natürlich leicht, sofort zu erkennen, dass etwas ein Betrug ist. Die Frage, die sich mir stellt, ist: Brauchen wir diese Information wirklich? Hilft sie uns in irgendeiner Weise, Fehler zu vermeiden? Wenn ich der const einen Wert zuweise, wird mir der Compiler sagen, dass ich etwas Dummes getan habe.

Meine Schlussfolgerung: Nimm das Kamelgehäuse. Vielleicht ändere ich auch meinen Stil ;-)

Bearbeiten:

Dieses Etwas riecht ungarisch ist kein wirklich stichhaltiges Argument, IMO. Die Frage sollte immer lauten: Hilft es, oder schadet es?

Es gibt Fälle, in denen Ungarisch hilft. Heutzutage nicht mehr so viele, aber es gibt sie noch.

19voto

user31939 Punkte 253

Erstens ist die ungarische Notation die Praxis, ein Präfix zu verwenden, um den Datentyp oder den Verwendungszweck eines Parameters anzuzeigen. Microsofts Benennungskonventionen für die Ablehnung der ungarischen Notation http://en.wikipedia.org/wiki/Hungarian_notation http://msdn.microsoft.com/en-us/library/ms229045.aspx

Die Verwendung von GROSSBUCHSTABEN wird, wie hier angegeben, nicht empfohlen: Pascal Case ist die akzeptable Konvention und SCREAMING CAPS. http://en.wikibooks.org/wiki/C_Sharp_Programming/Naming

Microsoft weist hier auch darauf hin, dass GROSSBUCHSTABEN verwendet werden können, wenn sie an das bestehende Schema angepasst werden. http://msdn.microsoft.com/en-us/library/x2dbyw72.aspx

Das bringt es ziemlich auf den Punkt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X