Programmierrichtlinien für C++
#define Guards
Wir verwenden einen an Java-Packages angelehnten Stil.
Beispiel für die Klasse Block mit folgenden Dateien:
In Java würde die Klasse dem Paket org.eeros.control
angehören. Wir verwenden daher folgenden #define-Guard im Headerfile:
#ifndef ORG_EEROS_CONTROL_BLOCK_HPP_
#define ORG_EEROS_CONTROL_BLOCK_HPP_
...
#endif // ORG_EEROS_CONTROL_BLOCK_HPP_
Dateinamen
Dateinamen:
Wie Klassen-Namen, also z.B. für die Klasse ExampleClass heisst die Datei ExampleClass.cpp
Werden mehrere Klassen in einer Datei implementiert, so entspricht der Dateiname dem Modulnamen und beginnt daher mit einem Kleinbuchstaben. Zum Beispiel exampleModule.cpp
Dateiendungen:
C++ Source Code: .cpp
C++ Headerfiles: .hpp
Variablen Namen
Beginnen mit Kleinbuchstaben
Keine Underlines
CamelCase
Kein Underscore am Anfang oder Ende für Member Variablen
Kein m_ Präfix für Member Variablen
Kein p_ Präfix für private Variablen
Konstanten beginnen mit einem kleinen k (z.B. kGain).
Pointer beginnen mit einem kleinen p (z.B. pLength). Ausser wenn:
tableName -> OK
tablename -> OK, aber besser tableName
table_name -> Falsch
_tableName -> Falsch
m_tableName -> Falsch
tableName_ -> Falsch