Namenskonvention
Verwende US English (GCG14001) 
Alle Identifier (Typen, Member, Parameter, Variablen etc.) sollte mit Wörtern aus dem amerikanischen Englisch gebildet werden.
- Die Namen sollten leicht lesbar und grammatikalisch richtig sein.
Beispiel:HorizontalAlginmentist besser alsAlignmentHorizontal - Lesbarkeit ist wichtiger als Kürze.
Beispiel:CanScrollHorizontallyist besser alsScrollableX - Bei den Namen sollte auf Schlüsselwörter aus den verbreiteten Programmiersprachen verzichtet werden.
Verwende die richtige Schreibweise für Sprachelemente (GCG14002) 
Abhängig von der jeweiligen Sprache sollte die richtige Schreibweise für Sprachelemente wie z. B. Klassen, Methoden und Variablen gewählt werden. Die am meisten verbreiteten sind Camel Case, Pascal Case, Snake Case und Kebab Case.
Verwende keine Zahlen in Variablen, Parametern und anderen Member (GCG14003) 
Solche Namen resultieren meisten aus Faulheit. Entweder weil man sich nicht genug Gedanken über einen passenden Namen gemacht hat, oder man mehrere Elemente, statt einer Liste implementiert hat.
Verwende keine Präfixe (GCG14004) 
Typen, Member, Parameter, Variablen etc. sollten nicht mit einem Präfix versehen
werden, um ihren Typ oder Scope zu definieren. Bekannt sind z. B. die Präfixe
g_ für global, s_ für static oder string, i_ für înteger und _
für private Member.
Nicht in allen Sprachen ist es möglich, diese Regel umzusetzen. In einigen
Sprachen werden Backingfields mit dem Präfix _ versehen. In andere Sprachen
ist dieses Präfix für private oder spezielle Member nötig.
Verwende keine Abkürzungen (GCG14005) 
Abkürzungen wie btn für Button und cmd für Command tragen nicht zur
Lesbarkeit und Verständlichkeit bei und sollten daher nicht genutzt. Ebenfalls
sollten Namen vermieden werden, die nur aus einem Buchstaben bestehen, z. B.
i für index und q für query.
Ausnahme: es sollten nur Abkürzungen genutzt werden, die allgemein oder in der jeweiligen Domäne geläufig sind.
Benenne Member, Parameter und Variablen entsprechend ihrer Bedeutung, nicht ihres Typen (GCG14006) 
Der Name sollte die Funktion wiederspiegeln und nicht den dahinter stehenden Typen.
Namen für Listen und Maps sollten den Plural verwenden.
Nutze bei der Benennung von Typen Substantive, Substantiv-Phrasen oder Adjektiv-Phrasen (GCG14007) 
| Benennung | Beispiel |
|---|---|
| Substantiv | IComponent |
| Substantiv-Phrase | ICustomAttributeProvider |
| Adjektiv-Phrase | IPersistable |
Nutze bei der Benennung von Methoden Verben oder Verb-Objekt-Paare (GCG14008) 
| Benennung | Beispiel |
|---|---|
| Verb | Show |
| Verb-Objekt-Paar | ShowDialog |
Die Namen sollten ein Hinweis darauf sein, was die Methode macht.
Wähle bei der Benennung von generischen Parametern aussagekräftige Namen (GCG14009) 
Präfixe generische Parameter mit dem Buchstaben T für Type.
Verwende einen Namen, der die Bedeutung des übergebenen Typen erklärt.
Wähle Namen entsprechend anderer Member innerhalb der jeweiligen Sprache oder des jeweiligen Frameworks (GCG14010) 
Um einen Entwickler, der bereits mit einer Sprache oder einem Framework vertraut ist, den Einstieg in ein Projekt möglichst leicht zu machen, sollte Namen verwendet werden, die in der jeweiligen Sprache bzw. dem jeweiligen Framework verwendet werden.
Vermeide Namen, die verwechselt werden können (GCG14011) 
Nur weil ein Ausdruck technisch korrekt ist, muss er nicht verständlich sein.
bool b001 = (lo == l0) ? (I1 == 11) : (lOl != 101);
Wiederhole nicht den Namen eines Typen innerhalb seiner Member (GCG14013) 
class Employee
{
// Wrong!
static GetEmployee() {...}
DeleteEmployee() {...}
// Right
static Get() {...}
Delete() {...}
// Also correct.
AddNewJob() {...}
RegisterForMeeting() {...}
}
Vermeide Klassennamen die Wörter wie Utility oder Helper beinhalten (GCG14013) 
Klassen, die Wörter wie Utility oder Helper in dem Namen haben, sind meist
statisch und entstehen durch Missachten von den Regeln der objektorientierten
Programmierung.
Vermeide Methodennamen das Wort And beinhalten (GCG14014) 
Methoden, die das Wort And beinhalten, machen meist mehr als eine Sache und
verstoßen damit gegen das Single Responsibility Principle.
Präfixen von booleschen Variablen und Member (GCG14015) 
Um die Aussagekraft von booleschen Variablen oder Member zu erhöhen, sollten
diese mit den Worten is, has, can, allows oder supports versehen
werden.