Suche…


Einführung

In diesem Thema werden einige grundlegende Namenskonventionen beschrieben, die beim Schreiben in der C # -Sprache verwendet werden. Wie alle Konventionen werden sie nicht vom Compiler durchgesetzt, sie sorgen jedoch für die Lesbarkeit zwischen Entwicklern.

Umfassende .NET Framework-Entwurfsrichtlinien finden Sie unter docs.microsoft.com/dotnet/standard/design-guidelines .

Bemerkungen

Wählen Sie leicht lesbare Bezeichnernamen

Beispielsweise ist eine Eigenschaft mit dem Namen HorizontalAlignment auf Englisch besser lesbar als AlignmentHorizontal.

Bevorzugung der Lesbarkeit gegenüber der Kürze

Der Eigenschaftsname CanScrollHorizontally ist besser als ScrollableX (eine obskure Referenz auf die X-Achse).

Vermeiden Sie die Verwendung von Unterstrichen, Bindestrichen oder anderen nicht-alphanumerischen Zeichen.

Verwenden Sie keine ungarische Schreibweise

In ungarischer Notation wird ein Präfix in Bezeichner string strName , um einige Metadaten über den Parameter zu kodieren, z.

Vermeiden Sie außerdem die Verwendung von Bezeichnern, die mit bereits in C # verwendeten Schlüsselwörtern in Konflikt stehen.

Abkürzungen und Akronyme

Im Allgemeinen sollten Sie keine Abkürzungen oder Akronyme verwenden. Dadurch werden Ihre Namen weniger lesbar. Ebenso ist es schwierig zu wissen, wann davon auszugehen ist, dass ein Akronym weithin bekannt ist.

Kapitalisierungskonventionen

Die folgenden Ausdrücke beschreiben verschiedene Arten von Fallbezeichnern.

Pascal Casing

Der erste Buchstabe des Bezeichners und der erste Buchstabe jedes nachfolgenden verketteten Wortes werden groß geschrieben. Sie können den Pascal-Fall für Bezeichner von drei oder mehr Zeichen verwenden. Zum Beispiel: BackColor

Kamelgehäuse

Der erste Buchstabe eines Bezeichners ist in Kleinbuchstaben und der erste Buchstabe jedes nachfolgenden verketteten Wortes wird großgeschrieben. Zum Beispiel: backColor

Großbuchstaben

Alle Buchstaben in der Kennung werden groß geschrieben. Zum Beispiel: IO


Regeln

Wenn ein Bezeichner aus mehreren Wörtern besteht, verwenden Sie keine Trennzeichen wie Unterstriche ("_") oder Bindestriche ("-") zwischen Wörtern. Verwenden Sie stattdessen ein Häkchen, um den Anfang jedes Wortes anzuzeigen.

In der folgenden Tabelle werden die Regeln für die Großschreibung von Bezeichnern zusammengefasst und Beispiele für die verschiedenen Arten von Bezeichnern gegeben:

Kennung Fall Beispiel
Lokale Variable Kamel carName
Klasse Pascal AppDomain
Aufzählungstyp Pascal ErrorLevel
Aufzählungswerte Pascal Fataler Fehler
Veranstaltung Pascal ValueChanged
Ausnahmeklasse Pascal WebException
Schreibgeschütztes statisches Feld Pascal Rotwert
Schnittstelle Pascal IDisposable
Methode Pascal ToString
Namensraum Pascal System.Drawing
Parameter Kamel Modellname
Eigentum Pascal Hintergrundfarbe

Weitere Informationen finden Sie auf MSDN .

Schnittstellen

Schnittstellen sollten mit Substantiven oder Nominalphrasen oder Adjektiven benannt werden, die das Verhalten beschreiben. Beispielsweise verwendet IComponent ein beschreibendes Nomen, ICustomAttributeProvider eine Nominalphrase und IPersistable ein Adjektiv.

Schnittstellennamen sollte der Buchstabe I vorangestellt werden, um anzuzeigen, dass es sich bei dem Typ um eine Schnittstelle handelt, und es sollte der Fall Pascal verwendet werden.

Im Folgenden sind korrekt benannte Schnittstellen:

public interface IServiceProvider
public interface IFormatable

Private Felder

Es gibt zwei gängige Konventionen für private Felder: camelCase und _camelCaseWithLeadingUnderscore .

Kamel Fall

public class Rational
{
    private readonly int numerator;
    private readonly int denominator;

    public Rational(int numerator, int denominator)
    {
        // "this" keyword is required to refer to the class-scope field
        this.numerator = numerator;
        this.denominator = denominator;
    }
}

Kamelhülle mit Unterstrich

public class Rational
{
    private readonly int _numerator;
    private readonly int _denominator;

    public Rational(int numerator, int denominator)
    {
        // Names are unique, so "this" keyword is not required
        _numerator = numerator;
        _denominator = denominator;
    }
}

Namensräume

Das allgemeine Format für Namespaces lautet:

<Company>.(<Product>|<Technology>)[.<Feature>][.<Subnamespace>].

Beispiele beinhalten:

Fabrikam.Math
Litware.Security

Wenn einem Namespace-Namen ein Firmenname vorangestellt wird, können Namespaces verschiedener Unternehmen nicht denselben Namen haben.

Aufzählungen

Verwenden Sie einen einzigen Namen für die meisten Enums

public enum Volume
{
   Low,
   Medium,
   High
}

Verwenden Sie einen Plural-Namen für Aufzählungstypen, bei denen es sich um Bitfelder handelt

[Flags]
public enum MyColors
{
    Yellow = 1,
    Green = 2,
    Red = 4,
    Blue = 8
}

Anmerkung: FlagsAttribute einem FlagsAttribute des FlagsAttribute .

Fügen Sie nicht "enum" als Suffix hinzu

public enum VolumeEnum // Incorrect

Verwenden Sie nicht den Aufzählungsnamen in jedem Eintrag

public enum Color
{
    ColorBlue, // Remove Color, unnecessary
    ColorGreen,
}

Ausnahmen

Fügen Sie "Ausnahme" als Suffix hinzu

Benutzerdefinierte Ausnahmename sollten mit "-Exception" versehen werden.

Im Folgenden sind korrekt benannte Ausnahmen:

public class MyCustomException : Exception
public class FooException : Exception


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow