You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Verwende US English (GCG14001) <imgsrc="/img/1.png"alt="recommendation level 1" />
6
-
Alle Identifier (Typen, Member, Parameter, Variablen etc.) sollte mit Wörtern aus
7
-
dem amerikanischen Englisch gebildet werden.
8
-
9
-
- Die Namen sollten leicht lesbar und grammatikalisch richtig sein.
10
-
Beispiel: `HorizontalAlginment` ist besser als `AlignmentHorizontal`
11
-
- Lesbarkeit ist wichtiger als Kürze.
12
-
Beispiel: `CanScrollHorizontally` ist besser als `ScrollableX`
13
-
- Bei den Namen sollte auf Schlüsselwörter aus den verbreiteten
14
-
Programmiersprachen verzichtet werden.
15
-
16
-
## Verwende die richtige Schreibweise für Sprachelemente (GCG14002) <imgsrc="/img/1.png"alt="recommendation level 1" />
17
-
Abhängig von der jeweiligen Sprache sollte die richtige Schreibweise für
18
-
Sprachelemente wie z. B. Klassen, Methoden und Variablen gewählt werden.
19
-
Die am meisten verbreiteten sind
20
-
[Camel Case, Pascal Case, Snake Case und Kebab Case][letter-case].
21
-
22
-
## Verwende keine Zahlen in Variablen, Parametern und anderen Member (GCG14003) <imgsrc="/img/2.png"alt="recommendation level 2" />
23
-
Solche Namen resultieren meisten aus Faulheit. Entweder weil man sich nicht
24
-
genug Gedanken über einen passenden Namen gemacht hat, oder man mehrere
25
-
Elemente, statt einer Liste implementiert hat.
26
-
27
-
## Verwende keine Präfixe (GCG14004) <imgsrc="/img/2.png"alt="recommendation level 2" />
28
-
Typen, Member, Parameter, Variablen etc. sollten nicht mit einem Präfix versehen
29
-
werden, um ihren Typ oder Scope zu definieren. Bekannt sind z. B. die Präfixe
30
-
`g_` für `global`, `s_` für `static` oder `string`, `i_` für `înteger` und `_`
31
-
für private Member.
32
-
33
-
Nicht in allen Sprachen ist es möglich, diese Regel umzusetzen. In einigen
34
-
Sprachen werden Backingfields mit dem Präfix `_` versehen. In andere Sprachen
35
-
ist dieses Präfix für private oder spezielle Member nötig.
36
-
37
-
## Verwende keine Abkürzungen (GCG14005) <imgsrc="/img/2.png"alt="recommendation level 2" />
38
-
Abkürzungen wie `btn` für `Button` und `cmd` für `Command` tragen nicht zur
39
-
Lesbarkeit und Verständlichkeit bei und sollten daher nicht genutzt. Ebenfalls
40
-
sollten Namen vermieden werden, die nur aus einem Buchstaben bestehen, z. B.
41
-
`i` für `index` und `q` für `query`.
42
-
43
-
**Ausnahme: ** es sollten nur Abkürzungen genutzt werden, die allgemein oder in
44
-
der jeweiligen Domäne geläufig sind.
45
-
46
-
## Benenne Member, Parameter und Variablen entsprechend ihrer Bedeutung, nicht ihres Typen (GCG14006) <imgsrc="/img/2.png"alt="recommendation level 2" />
47
-
Der Name sollte die Funktion wiederspiegeln und nicht den dahinter stehenden
48
-
Typen.
49
-
50
-
Namen für Listen und Maps sollten den Plural verwenden.
51
-
52
-
## Nutze bei der Benennung von Typen Substantive, Substantiv-Phrasen oder Adjektiv-Phrasen (GCG14007) <imgsrc="/img/2.png"alt="recommendation level 2" />
53
-
Benennung|Beispiel
1
+
# Naming convention
2
+
3
+
## Use US English (GCG14001) <imgsrc="/img/1.png"alt="recommendation level 1" />
4
+
All identifiers (Types, member, parameters, variables etc.) should be named
5
+
using words from the US English language.
6
+
7
+
- Names should be easily readble, preferably grammatically correct names.
8
+
Example: `HorizontalAlginment` is better than `AlignmentHorizontal`.
9
+
- Favor readability over brevity.
10
+
Example: `CanScrollHorizontally` is better than `CanScrollHorizontally`.
11
+
- Avoid using names that conflicts with keywords from widely spread used
12
+
programming languages.
13
+
14
+
## Use proper notation for language elements (GCG14002) <imgsrc="/img/1.png"alt="recommendation level 1" />
15
+
Depanding on the used programming language the proper notation for language
16
+
elements such as classes, method and variables should be used. Widely spread
17
+
casings are [camel case, pascal case, snake case and kebab case][letter-case].
18
+
19
+
20
+
## Don't include numbers in varfianles, parameters and type members (GCG14003) <imgsrc="/img/2.png"alt="recommendation level 2" />
21
+
In most cases these kind of names are lazy excuses for not defining a clear and
22
+
intention-revealing name. Often they are used instead of collections.
23
+
24
+
## Don't use prefixes (GCG14004) <imgsrc="/img/2.png"alt="recommendation level 2" />
25
+
Types, type members, parameters, variables etc. shouldn't include a prefix to
26
+
define the scope or type. Known prefixes are `g_` for `global`, `s_` for
27
+
`static` or `string`, `i_` for `integer` and `_` for private members.
28
+
29
+
In some programming languages it is not possible to obey this rule. Many
30
+
languages uses `_` for backing fields, other to communicate that a member is
31
+
private.
32
+
33
+
## Don't use abbreviations (GCG14005) <imgsrc="/img/2.png"alt="recommendation level 2" />
34
+
Abbreviations like `btn` for `button` and `cmd` for `command` harm the
35
+
readability and intelligibility. Avoid single character variable names, such as
36
+
`i` or `q`. Use `index` or `query`.
37
+
38
+
**Exception: ** Use well-known acronyms and abbreviations that are widely
39
+
accepted or well-known in your work domain. For instance, use acronym `UI`
40
+
instead of `UserInterface` and abbreviation `Id` instead of `Identity`.
41
+
42
+
## Name members, parameters and variables according to their meaning and not their type (GCG14006) <imgsrc="/img/2.png"alt="recommendation level 2" />
43
+
The name should describe the functionality and not their type.
44
+
45
+
Identifiers that refer to a collection type should have plural names.
46
+
47
+
## Name types using nouns, noun phrases or adjective phrases (GCG14007) <imgsrc="/img/2.png"alt="recommendation level 2" />
48
+
Naming|Example
54
49
:--|:---
55
-
Substantiv|`IComponent`
56
-
Substantiv-Phrase|`ICustomAttributeProvider`
57
-
Adjektiv-Phrase|`IPersistable`
50
+
noun|`IComponent`
51
+
noun phrase|`ICustomAttributeProvider`
52
+
adjective phrase|`IPersistable`
58
53
59
-
## Nutze bei der Benennung von Methoden Verben oder Verb-Objekt-Paare (GCG14008) <imgsrc="/img/2.png"alt="recommendation level 2" />
60
-
Benennung|Beispiel
54
+
## Name methods using verbs or verb-object pairs (GCG14008) <imgsrc="/img/2.png"alt="recommendation level 2" />
55
+
Naming|Example
61
56
:--|:---
62
-
Verb|`Show`
63
-
Verb-Objekt-Paar|`ShowDialog`
57
+
verb|`Show`
58
+
verb-object pair|`ShowDialog`
64
59
65
-
Die Namen sollten ein Hinweis darauf sein, was die Methode macht.
60
+
The name should describe the *what*, and if possible, the *why*.
66
61
67
-
## Wähle bei der Benennung von generischen Parametern aussagekräftige Namen (GCG14009) <imgsrc="/img/2.png"alt="recommendation level 2" />
68
-
Präfixe generische Parameter mit dem Buchstaben `T`für`Type`.
62
+
## Name generic type parameters with descriptive names (GCG14009) <imgsrc="/img/2.png"alt="recommendation level 2" />
63
+
Always prefix type parameters with the letter `T`for`Type`.
69
64
70
-
Verwende einen Namen, der die Bedeutung des übergebenen Typen erklärt.
65
+
The name should describe the *what*.
71
66
72
-
## Wähle Namen entsprechend anderer Member innerhalb der jeweiligen Sprache oder des jeweiligen Frameworks (GCG14010) <imgsrc="/img/1.png"alt="recommendation level 1" />
73
-
Um einen Entwickler, der bereits mit einer Sprache oder einem Framework vertraut
74
-
ist, den Einstieg in ein Projekt möglichst leicht zu machen, sollte Namen
75
-
verwendet werden, die in der jeweiligen Sprache bzw. dem jeweiligen Framework
76
-
verwendet werden.
67
+
## Name members similarly to other members in the used programming language or framework (GCG14010) <imgsrc="/img/1.png"alt="recommendation level 1" />
68
+
To let developers, who are already familiar with the used programming
69
+
language or framework, finding their way into your project, you should use a
70
+
naming pattern which is widely used by the language or framework.
77
71
78
-
## Vermeide Namen, die verwechselt werden können (GCG14011) <imgsrc="/img/1.png"alt="recommendation level 1" />
79
-
Nur weil ein Ausdruck technisch korrekt ist, muss er nicht verständlich sein.
72
+
## Avoid short names or names that can be mistaken for other names (GCG14011) <imgsrc="/img/1.png"alt="recommendation level 1" />
73
+
Although technically correct, statements like the following can be confusing:
0 commit comments