Skip to content

CodingGuidelines

Koschi edited this page Mar 30, 2015 · 1 revision
  1. summary Dient der Absprache und Festhaltung der syntaktischen Coding Guidelines

Table of Contents

Einrückung

Verwendetes Zeichen
1) Leerzeichen
2) 4 Zeichen

3) Alles innerhalb eines Blocks
4) Alles innerhalb einer Class
5) Alles innerhalb eines Structs
6) Alles innheralb eines Enums
7) Case-Statements in Switches
8) Code nach Case
9) Break in Case-Block

Blöcke mit { }

1) Immer auf neuer Zeile
2) Einzeiligen IF/FOR/DO/WHILE immer ohne { }
3) Für Konstanten auf selber Zeile, sofern nicht zu lang

Umbrüche

1) Immer vor und nach "{" und "}"
2) Immer vor und nach "else"
3) Immer vor und nach "return", "break", "continue"
4) Nach jedem ": type" bei Vererbung hintereinander

Maximale Zeilenlänge

1) 120

Leerzeichen

1) Vor und nach Operatoren => (x && y - a / b) || (x == 14)
1.a) Nicht für "++", "--", Vorzeichen
2) Nach öffnenden Klammern und vor schließenden Klammern keine Leerzeichen
3) Keine nach Methoden-Namen
4) Keine nach Anweisungen (if, for, do, etc) außer "case:"
5) Vor und nach einer Zuweisung => x = 4
6) Nach einem Komma (foo(int x, int y) - int x, y, z;)
6.1) Gilt auch für Template-Parameter
7) Nach einem Semikolon (for(int x=0; x<...)
8) Nicht in "leeren" Arrays (int x[])
9) Nicht bei Index-Zugriff (int x[i])
10) Nicht in eckiger Klammer (int x[])

Leerzeilen

1) Vor "using"
2) Zwischen "class", "struct", "enum", etc.
3) Zwischen Methoden-Definitionen
4) Nicht zwischen Methoden-Deklarationen

Klammerung

1) Jede logische Operation wird umklammert 2) Jede mathematische Operation wird umklammert, sofern nicht "Punkt vor Strich" (+-*/) gilt.

Namen

Variablennamen

1) camelCase
2) Voll ausgeschrieben, keine kryptischen Abkürzung
3) Ein-Buchstaben für Schleifen-Variablen sind erlaubt
4) Echte Akronyme nur den Anfangsbuchstaben groß, bzw. klein, wenn erster Buchstabe

Member

1) mit Präfix "m_"

Parameter

1) kein Präfix

Methodennamen

1) Verb am Anfang
2) camelCase
3) Voll ausgeschrieben, keine Abkürzung

Define Namen

1) Großbuchstaben mit Unterstrichen

Konstanten

1) Großbuchstaben mit Unterstrichen

Klassen

1) Substantiv
2) großer Anfangsbuchstabe
3) Kein Präfix (kein CClass!)

Pfadnamen

1) Bei includes: / (foward slash)
2) Bei Dateinamen: / (foward slash)

Code Dateien

1) Source: `*`.cpp
2) Header: `*`.hpp