C-Programmierung

Konventionen

Syntax | | Modulkonzept

Konventionen für C/C++ Quelltexte:

  • Ein Befehl = eine Zeile
  • Variablen- und Funktionsnamen klein, Klassennamen und Datentypen groß
  • Einrückung von mehreren Befehlen in Befehlsblöcken nach folgendem Schema:
{
   ...
   ...

   if (...)
   {
      ...
      ...
   }
}
  • Automatische Einrückung benutzen (z.B. im Emacs: Tab-Taste)
  • Einrückung = Leerzeichen, keine Tabulator-Zeichen!
  • Befehlsblöcke werden durch einzelne Leerzeilen in sinnvolle Abschnitte mit vorangestelltem Kommentar untergliedert:
{
   // block 1
   ...
   ...

   // block 2
   ...
   ...
}
  • Zusätzliche Leerzeichen sind empfehlenswert ausschließlich zwischen Termen, Zuweisungen und logischen Operatoren. Ebenso nach Schlüsselwörtern (if, while, for) und Kommas, wie z.B.:
while (a < b)
   a = max(2*a, 1);
  • Die ersten Zeilen jedes Quelltextex enthalten einen Kommentar, welcher den Autor nennt und das Modul beschreibt:
/*
 author: Stefan Roettger
 module: implements the fibonacci function
*/


// fibonacci function
int fibo(int n)
{
   return((n <= 2)? 1 : fibo(n-1) + fibo(n-2));
}
  • Globale Variablen sind verboten! Ohne Ausnahme!
  • Membervariablen sind eindeutig an einem vorhandenen nachgestellten “_” erkennbar, z.B. object_state_, alternativ objectState_.
  • Header enthalten neben den “Guards” nur Funktionsprototypen oder Klassen- bzw. Datentypdefinitionen.
  • Programming language is English! Do not complain about it, get used to it!


Syntax | | Modulkonzept

Options: