Namensrichtlinien für C# und andere .NET-Sprachen

Das .NET Framework beinhaltet zahlreiche Klassen und Strukturen, für die größtenteils einheitliche Namensregeln verwendet wurden. Diese Regeln tragen maßgeblich zum schnellen Erfassen von Klassen und Strukturen bei.

Die folgenden Richtlinien basieren auf den offensichtlich im .NET Framework verwendeten Regeln. Durch geringfügige Erweiterungen können weitere positive Effekte für die .NET-basierte Softwareentwicklung erreicht werden.

Allgemeine Richtlinien

Benennbare Sprachelemente werden grundsätzlich entsprechend der Camel-Case-Konvention benannt. Diese erlaubt innerhalb eines Wortes Großbuchstaben am Anfang eines jeden Teilwortes.

Lokale Variablen und Funktionsparameter beginnen immer mit einem Kleinbuchstaben (z.B. firstNode, nextIndex). Für alle anderen Elemente wird die Upper-Camel-Case-Konvention benutzt, die auch als Pascal-Konvention bekannt ist (z.B. FileStream, StringBuilder).

Die Benennung erfolgt in englischer Sprache. Es werden lediglich Buchstaben des englischen Alphabets und ggf. Ziffern verwendet.

Klassen, Strukturen, Aufzählungen und Schnittstellen

Offiziell wird für die Namensgebung für Klassen, Strukturen und Aufzählungen empfohlen, keine Präfixe zu verwenden. Lediglich Schnittstellen sind mit dem Präfix "I" zu versehen. Beispiele:

  • CollectionBase - Basisklasse für die Erstellung von Listen
  • Rectangle - Struktur für Koordinaten eines rechteckigen Bereichs
  • FileMode - Aufzählung für Modus zum Öffnen einer Datei
  • IList - allgemeine Listenschnittstelle

Unternehmensbezogene Präfixe können dennoch hilfreich sein, um Namenskonflikte mit Standardtypen auszuschließen, auch wenn für diesen Zweck eigentlich Namensräume vorgesehen sind.

Klassenvariablen und Konstanten

Nicht öffentliche Klassenvariablen werden mit dem Präfix "m_" gekennzeichnet. Für die Benennung nicht öffentlicher oder lokaler Konstanten wird "c_" als Präfix verwendet. Diese abgewandelte und vereinfachte Form der ungarischen Notation ist offiziell für die .NET-Entwicklung nicht vorgesehen.

Durch diese zwei einfachen Regeln können Konstanten, lokale Variablen und Membervariablen jederzeit klar unterschieden werden. Da die Regeln sich lediglich auf nicht öffentliche und lokale Elemente beziehen, werden keine Normen für öffentliche Elemente beeinträchtigt.

Lokale Variablen

Lokale Variablen sollten kurz und aussagekräftig sein. Die Übersichtlichkeit wird durch kurze Namen insbesondere dann erhöht, wenn viele lokale Variablen verwendet werden. Hilfsvariablen, die lediglich im Kontext weniger Zeilen benutzt werden, können mit einem dem Typ entsprechenden Kurznamen benannt werden. Folgende Kurznamen werden empfohlen:

  • i, j, k für Variablen des Typs int
  • s, t, u für Variablen des Typs string
  • o für Variablen des Typs object

Funktionsparameter

Funktionsparameter sind mit aussagekräftigen Namen zu versehen. Dadurch wird die Verwendung der jeweiligen Funktion erleichtert. Die Namen von Funktionsparametern bleiben im Gegensatz zu lokalen Variablen im Kompilat (IL-Code) erhalten. Programmierhilfen und Codebrowser zeigen die verwendeten Namen an.

Benennung von Funktionen

Funktionen sind stets mit einer Aktion verknüpft. Die jeweils realisierte Aktion kann immer mit einem Verb beschrieben werden, das für die Benennung benutzt werden kann.

Parameterlose Funktionen mit Rückgabewert sollten nicht mit dem Wort "Get" beginnen. Stattdessen kann entweder eine Eigenschaft bereitgestellt werden oder ein anderer Name gewählt werden.

Zusammenfassung

Die vorgestellten Regeln zur Benennung von Elementen in C# und anderen .NET-Sprachen können wie folgt zusammengefasst werden.

  • Benennung in englischer Sprache unter Verwendung der Camel-Case-Konvention
  • Verwendung von Buchstaben des englischen Alphabets und ggf. Ziffern
  • Präfix "I" für Schnittstellentypen
  • Präfix "m_" für nicht öffentliche Membervariablen
  • Präfix "c_" für nicht öffentliche oder lokale Konstanten
  • lokale Variablen und Funktionsparameter beginnen immer mit einem Kleinbuchstaben
  • kurze Namen für lokale Variablen
  • ausführliche Namen für Funktionsparameter

Es existieren weitere wichtige Richtlinien, die bei der Entwicklung von .NET-basierten Anwendungen und Bibliotheken beachtet werden sollten.

Ähnliche Artikel

Schreiben Sie einen Kommentar