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 (...)
{
...
...
}
}
...
...
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
...
...
}
// 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);
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));
}
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_
, alternativobjectState_
. - 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 →