Verschiedene Regeln sind beim Programmieren in Java für das campusboard zu berücksichtigen. Einige wichtige, die immer wieder falsch gemacht werden, sind hier nochmal zusammengefasst:
- Defensiv programmieren!
Im Falle von fehlenden Parametern oder unerwartetem null immer zurück springen zu einem definiertem Ausgangspunkt - z.B. Startseite der Applikation. Unerwartete Fehler immer protokollieren. Das Log-Level sollte hier mindestens WARN sein.
- Das Öffnen von Datenbank-Verbindungen darf nur mit einem try-with-resources Konstrukt erfolgen, um das Schließen in jedem Fall sicherzustellen. Zu bevorzugen: Verwendung der Klasse DBConnectionDB
- Eine DB-Verbindung darf nicht länger als unbedingt notwendig geöffnet bleiben. Der try-Block darf keine aufwändigen Operationen beinhalten, die keine DB-Verbindung erfordern.
- Namenskonventionen von DB-Methoden beachten.
Immer: findAll, findBy, insert, update, delete
- WICHTIG: Zero-Warning Policy !
Möglichst alle sinnvollen Warnings im Compiler aktivieren und wenn Warnings angezeigt werden, diese prüfen und immer eliminieren oder durch eine entsprechende Annotation deutlich machen, dass das Problem bewusst nicht behoben wurde!
In Eclipse Warnings aktivieren unter: Preferences → Java → Compiler → Errors/Warnings
Dazu gehören auf jeden Fall: Dead code, Class does not override HashCode, Unnecessary code: unused imports, unused member, missing @override, ...
- Zusätzliche Code-Analyse mit Werkzeugen wie dem Eclipse-Plugin SpotBugs ist unbedingt empfehlenswert.
Am Besten über den eclipse-Marketplace als Plugin installieren.
- Sicherstellen, dass für Ausgaben nur das log4j-Interface verwendet wird.
Keine System.out, System.err, o.ä. dürfen im Code stehen! Beim Loggen von Fehler unbedingt den Context (Parameter und User) mit ausgeben.
Bei fehlerhaften Benutzereingaben sollte das Protokollieren maximal - und auch das nur in begründeten Fällen - auf Level WARN erfolgen.
Bei unerwarteten Programmfehlern muss eine Protokollierung auf Level ERROR erfolgen. Bitte beachten: Meldungen auf Level ERROR lösen auf dem Live-Server eine E-Mail-Benachrichtigung aus.
- Variablen, die in einer Methode nur einmal gesetzt und dann nicht mehr geändert werden sollten mit final kennzeichnet werden.
Zur Formatierung von Code:
- Zur Sicherstellung der korrekten Formatierung gibt es eine Datei mit Formatvorgaben, unter
campusboard-project-parent/campusboard_style.xml, die in Eclipse importiert werden kann unter den Preferences:
Java → Code Style → Formatter → Import
- Für JSP-Seiten können die Format-.Einstellungen leider nicht damit übernommen werden. Daher müssen diese analog übernommen werden: 2 Spaces statt Tab und 240 Zeichen Zeilenlänge.
Einstellungen für die JSP-Formatierung können in den Preferences vorgenommen werden unter: Web → HTML Files → Editor
- Bitte nie gedankenlos komplette Klassen neu formattieren! Um die Lesbarkeit des Codes zu erhöhen werden immer wieder einige Stellen manuell formatiert. Diese Stellen würden bei einer automatischen Formatiereung zerstört. Dies betrifft z.B.: komplexen logische Ausdrücke, bedingte Zuweisungen, SQL-Anweisungen, ...
Weitere Informationen sind in den über die Sidebar aufgelisteten Kapiteln zu finden.