Syntax und Struktur
- Strukturieren Sie Code so, dass er immer leicht lesbar bleibt.
- Verwenden Sie Einrückungen (Tabulatoren und Leerzeichen).
- Beschränken Sie die maximale Zeilenlänge auf 80 Zeichen.
- Eine Anweisung pro Zeile.
- Vermeiden Sie unverständliche Abkürzungen.
- Legen Sie sich ein konsistentes Benennungssystem zurecht und halten Sie es ein.
Kommentare
- Sparen Sie nicht mit Kommentaren, insbesondere bei nicht offensichtlichen Annahmen.
- Beschreiben Sie vor jeder Methode ihre Funktionsweise.
- Sparen Sie nicht an begleitender Dokumention (z.B. eine Readme-Datei mit einer ausführlichen technischen Beschreibung).
System
- Vermeiden Sie den Gebrauch globaler Variablen. Eine Methode verwendet als Daten im Normalfall nur den Parameter und lokale, initialisierte Variablen.
- Implementieren Sie eine effektive Fehlerbehandlung (Exceptions sind in objektorientierten Sprachen ein hervorragendes Instrument für diesen Zweck).
Klassenebene
- Verwenden Sie Vererbung nur, wenn Klassen in inhaltlichem Zusammenhang stehen (setzen Sie keinesfalls Vererbung ein, um sich das Tippen einiger Variablen zu sparen).
- Fassen Sie in Subsystemen nur zusammen, was auch zusammengehört.
- Vermeiden Sie zu allgemeine Klassen. Jede Klasse soll eine genau spezifizierte Funktionalität besitzen, für die sie Spezialist ist.
Methodenebene
- Benutzen Sie aussagekräftige Variablen- und Methodenbezeichner. Verwenden Sie zur besseren Lesbarkeit Groß- und Kleinschreibung.
- Halten Sie private und öffentliche Methoden strikt auseinander.
- Jede Methode muss testbar sein, d.h., es ist entscheidbar, ob sie korrekt implementiert wurde.
- Jede Methode muss leicht verständlich sein. Halten Sie dazu Methoden so kurz wie möglich. Teilen Sie Funktionalität — wenn nötig — auf mehrere Methoden auf.
- Informieren Sie sich in einschlägigen Büchern über geeignete Standardalgorithmen.
Implementieren Sie Design by Contract
- Initialisieren Sie alle Variablen. Alle Annahmen über den Zustand von Variablen sollten durch Abfragen im Code überprüft werden.
- Jede Methode überprüft Eingabeparameter auf Gültigkeit und Sonderfälle. Die Methode reagiert klar und sinnvoll auf Sonderfälle.
- Überprüfen Sie immer die Rückgabewerte von Funktionen auf mögliche Fehler (z.B. kein Rückgabewert, Rückgabewert liegt außerhalb des Wertebereiches usw.).
Wolfgang Zuser et al. – Software Engineering