Dies ist eine alte Version des Dokuments!


Programmierrichtlinen für Java

Namensgebung

Namen für beginnen mit Beispiele
Konstanten Substantiv Kleinbuchstaben size, pwm, serialVersionUID
System-Konstanten PORTF, FPSCR, DDR, PI 1)
Variablen Substantiv Kleinbuchstaben version, wordSize
Adjektiv Kleinbuchstaben full, ready
Fuktionen Substantiv Kleinbuchstaben length()
Adjektiv Kleinbuchstaben full(), equal()2)
Methoden Verb Kleinbuchstaben drawLine()3)
Klassen Substantiv Grossbuchstaben File, FifoQueue, Stack
Pakete Substantiv Kleinbuchstaben java.io, ntb, target.ppc555

Namenslänge: Lokale, temporär verwendete Namen sollten kurz sein (z.B. m, k, len). Globale, wichtige Namen sollten sprechend, aber nicht zu lang sein (z.B. words, nofEntries).

Sprache: Wählen sie englische Namen. Sie sind meist kürzer als deutsche Namen und passen besser zu den englischen Schlüsselwörtern. Ausserdem können sie Programme mit englischen Namen leichter an Personen weitergeben, die kein Deutsch verstehen (z.B. über das Internet).

Worttrennung: Die Lesbarkeit von Namen, die aus mehreren Wörtern bestehen, wird durch entsprechende Gross-/Kleinschreibung (z.B. drawLine) verbessert, solche Bezeichner werden vom Leser rascher als Einheit erfasst und können besser von Parameterlisten unterschieden werden, als die Trennung mit Unterstrichen, z.B. draw_line. Die letztere Variante hat ihre Wurzeln in der Zeit, als die „Schnell-Drucker“ nur Grossbuchstaben drucken konnten.

Kommentare

Kommentieren Sie, was nicht im Programm steht (und wichtig ist). Vermeiden Sie Kommentare, die nur das wiederholen, was man ohnehin aus dem Programmtext ablesen kann. Wählen Sie für Kommentare wennmöglich dieselbe Sprache wie für Namen im Programm. Aus den oben geschilderten Gründen sind englische Kommentare vorteilhaft. Verwenden Sie javadoc-konforme Kommentare für Klassen, Felder und Methoden, z.B.

/** A stack of integer.
  * Implements a LIFO data structure of fixed length, ....
  */
public class Stack {
  /** indicates stack overflow.
    * This flag may be checked after a push() operation.
    * If overflow == true, the parameter of the most recent push() operation was ignored.
    */
  public boolean overflow;
  ...
 
  /** pushes the value item onto the stack.
    * The overflow flag tells if the operation was successful.
    */
  public void push (int item) {...}
  ...
}

Verwenden Sie Trennkommentare zur Einleitung von Anweisungsfolgen, die eine bestimmte Aufgabe erfüllen, z.B.

//---- Read input array
In.open("input.txt");
int len = In.readInt();
int [] a = new int[len];
for(int i = 0; i < len; i++) a[i] = In.readInt();
 
//---- Invert array
invert(a);
 
//---- Print inverted array
for(int i = 0; i < len; i++) Out.print(a[i] + " ");
Out.println();

Halten Sie die Anweisungsfolgen einer Methode möglichst frei von Kommentaren. Jedesmal, wenn Sie einen Kommentar schreiben, sollten Sie sich überlegen, ob Sie nicht stattdessen das Programm vereinfachen oder bessere Namen wählen können, um dadurch den Kommentar zu vermeiden. Ein gutes Programm ist nicht eines, das möglichst viele Kommentare enthält, sondern eines, das möglichst wenige Kommentare benötigt. Falls Sie dennoch einmal einen Algorithmus ausführlich kommentieren wollen, tun Sie das im Kopfkommentar der Methoden und Klassen und nicht zwischen den einzelnen Anweisungen. Bei zu vielen Kommentaren zwischen den Anweisungen kann es sein, dass Sie das Programm vor lauter Kommentaren nicht mehr sehen.

1)
Konstanten aus Reference-, User- Manuals, etc. werden wenn möglich so übernommen, wie sie in diesen Quellen festgelegt sind, es sei denn, sie widersprechen der Java-Syntax. Wichtig ist, dass man diese rechnerunterstützt, case-sensitive (Ctrl-F) suchen kann.
2)
Name bezeichnet Fuktionswert
3)
Imperativ