Richtlinien zur Codequalität in den Abgaben
Um die Punkte für Codequalität bei den Abgaben zu bekommen müssen die folgenden Richtlinien eingehalten werden.
Formatierung
- Nur ein Statement pro Zeile.
- Korrekte und konsistente Einrückung von Blöcken (min. zwei Leerzeichen, keine Tabs).
- Blockformatierung im K&R Stil
- Blöcke immer in geschweiften Klammern, auch wenn Sie nur ein Statement enthalten.
Benennung
- Identifier immer auf englisch
- Identifier für Variablen, Felder und Methoden in Caml case, Anfangsbuchstabe klein
- Identifier für Klassen in Caml case, Anfangsbuchstabe groß
- Identifier für Konstanten in CONSTANT_CASE
SVN
            Sofern nicht explizit angegeben, sollen dürfen die Abgaben
            nur die mitgelieferten Dateien der Aufgabenpakete
            sowie die *.java Dateien der Lösung enthalten. Insbesondere sollen keine *.class oder *.jar Dateien eingecheckt werden.
        
Kommentare
- Kommentare immer auf englisch.
- Klassen und deren Konstruktoren sollen mit Javadoc kommentiert werden.
- Methoden, deren Funktionalität nicht völlig durch ihren Namen beschrieben wird, sollen mitJavadoc kommentiert werden. (Im Zweifelsfall kommentieren.)
Exceptions
- Exceptions sollen nie pauschal als Exceptiongefangen werden.
- Exceptions solle nie pauschal in einer
                throws ExceptionKlausel deklariert werden.
- RuntimeExceptionssollen nie gefangen werden.
Programmstruktur
- Verwenden Sie staticVariable nur in Zusammenhang mitfinalzur Definition von Konstanten (d.h. Werte, die von keiner Eingabe abhängen.)
- Verwenden Sie Methoden. Jede Methode (inklusive
                main) soll eine am Namen der Methode klar erkennbare Funktionalität implementieren, sonst muss sie in mehrere kleine Methoden zerlegt werden. Weitere Guidelines zur Größe von Methoden.
- Vermeiden Sie Codeduplizierung. Gliedern Sie stattdessen Code in Methoden aus, wenn dieser mehrfach verwendet werden soll.
- Schleifen sollen immer eine nicht-triviale
                Abbruchbedingung haben. (Das heißt, die Abbruchbedingung soll nie äquivalent zu trueoderfalsesein.)
- While-Schleifen sollen nie mit breakverlassen werden.
JUnit
Ab w06 ist es nötig, sinnvolle Unit-Tests in JUnit zu schreiben um die Punkte für Codequalität zu erhalten. Getestet werden müssen mindestens:
- alle publicMethoden, außgenommen Getter und Setter Methoden
- alle Hilfsmethoden, die an mehr als einer Stelle aufgerufen werden
Ressourcen
            Ressourcen wie Dateien und Netzwerkverbindungen sollten immer
            baldmöglichst geschlossen werden, vorzugsweise in einem
            finally Block. Standardeingabe, Standardausgabe und
            Standarderror sollen nicht geschlossen werden.
        
