Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| software_entwicklung:programmierrichtlinen:java [2010-02-22 16:13] – zueger1 | software_entwicklung:programmierrichtlinen:java [2010-06-18 16:13] (aktuell) – gelöscht zueger1 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== Programmierrichtlinen für Java ====== | ||
| - | |||
| - | ===== Namensgebung ===== | ||
| - | ^ Namen für ^ beginnen mit ^^ Beispiele ^ | ||
| - | | Konstanten | ||
| - | | System-Konstanten | | ||
| - | | Variablen | Substantiv | Kleinbuchstaben | version, wordSize | | ||
| - | | | Adjektiv | ||
| - | | Fuktionen | Substantiv | Kleinbuchstaben | length() | | ||
| - | | | Adjektiv | Kleinbuchstaben | full(), equal()((Name bezeichnet Fuktionswert))| | ||
| - | | Methoden | Verb | Kleinbuchstaben | drawLine()((Imperativ))| | ||
| - | | Klassen | Substantiv | Grossbuchstaben | File, FifoQueue, Stack | | ||
| - | | Pakete | Substantiv | Kleinbuchstaben | java.io, ntb, target.ppc555 | | ||
| - | |||
| - | **Namenslänge: | ||
| - | |||
| - | **Sprache: | ||
| - | |||
| - | **Worttrennung: | ||
| - | |||
| - | ===== Kommentare ===== | ||
| - | Kommentieren Sie, was nicht im Programm steht (und wichtig ist). Vermeiden Sie Kommentare, die nur | ||
| - | das wiederholen, | ||
| - | 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. | ||
| - | <code java> | ||
| - | /** 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, | ||
| - | erfüllen, z.B. | ||
| - | |||
| - | <code java> | ||
| - | //---- Read input array | ||
| - | In.open(" | ||
| - | 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. | ||