Stilrichtlinien
Guter Programmierstil trägt wesentlich zur Lesbarkeit und Wartbarkeit von Programmen bei. Richtlinien für die Namensgebung, Kommentierung oder Einrückung von Anweisungen lassen sich zwar nicht absolut festlegen, die folgende Zusammenstellung gibt aber einige bewährte Konventionen wieder, an die Sie sich bei der Abfassung Ihrer Übung halten sollen. Wichtiger, als einen bestimmten Programmierstil einzuhalten, ist es allerdings, einen konsistenten Stil zu befolgen.
Namensgebung
Namen für | beginnen mit | Beispiele |
Konstanten, Variablen | Substantiv Adjektiv | Kleinbuchstaben Kleinbuchstaben | version, wordSize full, ready |
Funktionen | Substantiv Adjektiv | Kleinbuchstaben Kleinbuchstaben | position() empty(), equal() |
Prozeduren | Verb | Kleinbuchstaben | drawLine() |
Klassen | Substantiv | Großbuchstaben | File, TextFrame |
Namenslänge
- Lokale, temporäre Namen: eher kurz (i, j, n)
- Globale, wichtige Namen: sprechend aber nicht zu lang (word, nEntries)
Sprache
- Möglichst englisch (ist meist kürzer als deutsch und paßt besser zu den englischen Schlüsselwörtern)
Kommentare
- Kommentieren, was nicht im Programm steht (und wichtig ist)
- Keine unnötigen Kommentare
- Möglichst englisch
- Teilaufgaben wenn nötig durch Trennkommentare kennzeichnen
xxx //----- find line containing pos yyy
- javadoc-Kommentare von Klassen
/** A stack of integer. (HM 99-08-16) * Implements a FIFO data structure of fixed length. ... */ public class Stack {...}
- javadoc-Kommentare von Methoden und Feldern
/** tells if the previous operation was successful */ public boolean done;
/** reads an integer and sets done */ public int readInt() {...}
Einrückungen
Anweisungen
if(cond) { ... } else if(cond) { ... } else { ... }
|
switch(expr) { case c1: ... case c2: ... } |
|
while(cond) { ... } |
do { ... while(cond); |
for(...) { ... } |
Klassen
class C { ... fields ... ... methods ... }
Methoden
public int func() { ... declarations ... ... statements ... }
Allgemeines
- Einrückungstiefe: 1 Tabulator oder 2 Leerzeichen
- Zusammengehörige Anweisungen auf gleiche Zeile schreiben, falls es die Lesbarkeit erlaubt
p.next = head; head = p;
- Kurze Anweisungen in einer Zeile schreiben:
if(cond) stat1; else stat2;
|