logo of the SSW institute ;)
Computer Science
System Software

Home

General
Staff
Contact
Partners
Alumni

Research
Areas
Projects
Papers
Books
Reports
Awards

Teaching
Lectures
Exams
B.Projects
M.Theses
PhD Theses
Go Abroad

Misc
Talks
Library
Gallery
Links
Search

Webmaster


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ürbeginnen mitBeispiele
Konstanten, VariablenSubstantiv
Adjektiv
Kleinbuchstaben
Kleinbuchstaben
version, wordSize
full, ready
FunktionenSubstantiv
Adjektiv
Kleinbuchstaben
Kleinbuchstaben
position()
empty(), equal()
ProzedurenVerbKleinbuchstabendrawLine()
KlassenSubstantivGroßbuchstabenFile, 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;