Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
software:programmierrichtlinien:cpp [2013-09-06 11:17] – angelegt grafsoftware: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> 
-**[[http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml | Google C++ Guidelines]]** 
-</box> 
- 
-Wir verwenden die **[[http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml | Google C++ Guidelines]]** mit den unten aufgeführten Ausnahmen. 
- 
-===== #define Guards ===== 
-Wir verwenden einen an Java-Packages angelehnten Stil. 
- 
-Beispiel für die Klasse Block mit folgenden Dateien: 
-  * include/control/Block.hpp 
-  * src/control/Block.cpp 
- 
-In Java würde die Klasse dem Paket ''org.eeros.control'' angehören. Wir verwenden daher folgenden #define-Guard im Headerfile: 
- 
-<code c> 
-#ifndef ORG_EEROS_CONTROL_BLOCK_HPP_ 
-#define ORG_EEROS_CONTROL_BLOCK_HPP_ 
- 
-... 
- 
-#endif  // ORG_EEROS_CONTROL_BLOCK_HPP_ 
-</code> 
- 
-===== 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: 
-    * es sich um ein Array handelt 
-    * es sich um einen c-String handelt 
- 
-  tableName   -> OK 
-  tablename   -> OK, aber besser tableName 
-  table_name  -> Falsch 
-  _tableName  -> Falsch 
-  m_tableName -> Falsch 
-  tableName_  -> Falsch 
- 
-