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?

19voto

DavidRR Punkte 16458

In seinem Artikel Konstanten (C# Programmierhandbuch) gibt Microsoft das folgende Beispiel:

class Calendar3
{
    const int months = 12;
    const int weeks = 52;
    const int days = 365;

    const double daysPerWeek = (double) days / (double) weeks;
    const double daysPerMonth = (double) days / (double) months;
}

Für Konstanten gilt also apparaît dass Microsoft die Verwendung von camelCasing . Beachten Sie jedoch, dass diese Konstanten definiert sind vor Ort .

Die Benennung von äußerlich sichtbaren Konstanten ist wohl von größerem Interesse. In der Praxis dokumentiert Microsoft seine öffentliche Konstanten in der .NET-Klassenbibliothek als Felder . Hier sind einige Beispiele:

Die ersten beiden sind Beispiele für PascalCasing . Die dritte scheint sich an Microsofts Konventionen zur Großschreibung für ein Akronym mit zwei Buchstaben (obwohl pi ist kein Akryonym). Und die vierte scheint darauf hinzudeuten, dass die Regel für ein Akryonym mit zwei Buchstaben auch für ein Akronym oder eine Kennung mit einem Buchstaben gilt, wie z. B. E (die die mathematische Konstante e ).

Darüber hinaus weist Microsoft in seinem Dokument zu Großbuchstaben-Konventionen sehr direkt darauf hin, dass Feldbezeichner über PascalCasing und gibt die folgenden Beispiele für MessageQueue.InfiniteTimeout y UInt32.Min :

public class MessageQueue
{
    public static readonly TimeSpan InfiniteTimeout;
}

public struct UInt32
{
    public const Min = 0;
}

Schlussfolgerung: Verwenden Sie PascalCasing für öffentliche Konstanten (die dokumentiert sind als const o static readonly Felder).

Soweit mir bekannt ist, befürwortet Microsoft keine speziellen Namens- oder Großbuchstabenkonventionen für privat Identifikatoren, wie in den Beispielen in der Frage dargestellt.

15voto

dove Punkte 20015

Überlassen Sie Ungarisch den Ungarn.

In diesem Beispiel würde ich sogar den endgültigen Artikel weglassen und nur mit

private const int Answer = 42;

Ist das die Antwort oder ist das die Antwort?

*Editiert, da Pascal streng genommen recht hat, ich aber dachte, die Frage zielt eher auf eine Antwort auf das Leben, das Universum und alles .

10voto

John Punkte 28172

Die ALL_CAPS ist von der Arbeitsweise von C und C++ übernommen, glaube ich. Dieser Artikel aquí erklärt, wie es zu den stilistischen Unterschieden kam.

In den neuen IDEs wie Visual Studio ist es einfach, die Typen und den Anwendungsbereich zu identifizieren und festzustellen, ob sie konstant sind, so dass dies nicht unbedingt erforderlich ist.

El FxCop und Microsoft StyleCop Software hilft Ihnen dabei, Richtlinien zu erstellen und Ihren Code zu überprüfen, damit alle auf die gleiche Weise arbeiten.

10voto

Marc Gravell Punkte 970173

Eigentlich bevorzuge ich hier PascalCase - aber aus Gewohnheit mache ich mich der GROSSSCHREIBUNG schuldig...

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