Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |||
| software:programmierrichtlinien:cpp [2017-08-22 17:29] – mgehrig2 | software:programmierrichtlinien:cpp [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== Programmierrichtlinien für C++ ====== | ||
| - | |||
| - | <box green 30% right | Quicklinks> | ||
| - | **[[https:// | ||
| - | </ | ||
| - | |||
| - | Wir verwenden die **[[https:// | ||
| - | |||
| - | ===== #define Guards ===== | ||
| - | Wir verwenden einen an Java-Packages angelehnten Stil. | ||
| - | |||
| - | Beispiel für die Klasse Block mit folgenden Dateien: | ||
| - | * include/ | ||
| - | * src/ | ||
| - | |||
| - | In Java würde die Klasse dem Paket '' | ||
| - | |||
| - | <code c> | ||
| - | #ifndef ORG_EEROS_CONTROL_BLOCK_HPP_ | ||
| - | #define ORG_EEROS_CONTROL_BLOCK_HPP_ | ||
| - | |||
| - | ... | ||
| - | |||
| - | # | ||
| - | </ | ||
| - | |||
| - | ===== Dateinamen ===== | ||
| - | * Dateinamen: | ||
| - | * Wie Klassen-Namen, | ||
| - | * Werden mehrere Klassen in einer Datei implementiert, | ||
| - | * Dateiendungen: | ||
| - | * C++ Source Code: .cpp | ||
| - | * C++ Headerfiles: | ||
| - | |||
| - | ===== 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: | ||
| - | * es sich um ein Array handelt | ||
| - | * es sich um einen c-String handelt | ||
| - | |||
| - | tableName | ||
| - | tablename | ||
| - | table_name | ||
| - | _tableName | ||
| - | m_tableName -> Falsch | ||
| - | tableName_ | ||
| - | |||
| - | |||