Uni-Logo

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

  1. Nur ein Statement pro Zeile.
  2. Korrekte und konsistente Einrückung von Blöcken (min. zwei Leerzeichen, keine Tabs).
  3. Blockformatierung im K&R Stil
  4. Blöcke immer in geschweiften Klammern, auch wenn Sie nur ein Statement enthalten.

Benennung

  1. Identifier immer auf englisch
  2. Identifier für Variablen, Felder und Methoden in Caml case, Anfangsbuchstabe klein
  3. Identifier für Klassen in Caml case, Anfangsbuchstabe groß
  4. 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

  1. Kommentare immer auf englisch.
  2. Klassen und deren Konstruktoren sollen mit Javadoc kommentiert werden.
  3. Methoden, deren Funktionalität nicht völlig durch ihren Namen beschrieben wird, sollen mitJavadoc kommentiert werden. (Im Zweifelsfall kommentieren.)

Exceptions

  1. Exceptions sollen nie pauschal als Exception gefangen werden.
  2. Exceptions solle nie pauschal in einer throws Exception Klausel deklariert werden.
  3. RuntimeExceptions sollen nie gefangen werden.

Programmstruktur

  1. Verwenden Sie static Variable nur in Zusammenhang mit final zur Definition von Konstanten (d.h. Werte, die von keiner Eingabe abhängen.)
  2. 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.
  3. Vermeiden Sie Codeduplizierung. Gliedern Sie stattdessen Code in Methoden aus, wenn dieser mehrfach verwendet werden soll.
  4. Schleifen sollen immer eine nicht-triviale Abbruchbedingung haben. (Das heißt, die Abbruchbedingung soll nie äquivalent zu true oder false sein.)
  5. While-Schleifen sollen nie mit break verlassen 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 public Methoden, 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.