Coding standard

Merge requests sind immer willkommen!

In Eclipse könnt Ihr unter Window > Preferences > Java > CodeStyle > Formatter folgende Formatdatei direkt importieren: eclipsesourceFormat.xml

Encoding

Alles, was i. d. R. nur Entwickler anfassen (Programmcode, Datenbank) ist UTF-8 (ohne BOM).
Das gilt insbesondere für SQL-Dateien. Bitte stellt Euren Editor entsprechend ein, Notepad++ konvertiert das Encoding auch.

Geklärt werden muss, wie wir mit Ini-Dateien umgehen, die von jedem Anwender (auch den technisch weniger versierten) befüllt werden. Seit 2019 erkennt der Windows Standard-Editor (Notepad) das Encoding und behält es bei, statt die Umlaute durch zwangsweises Speichern in CP-1252 zu zerstören. Wie gehen wir jetzt mit vorhandenen Ini-Dateien um?

einmalig nach UTF-8 konvertieren?

als CP-1252 beibehalten und beim Einlesen nach UTF-8 konvertieren?

Nichts tun? Was ist mit Anwendern, die schon selbst konvertiert haben?

Code Conventions

Java Standard Naming Conventions

Einrückung: Leerzeichen

Deklarationen erfolgen so spät wie möglich, also nah an der Nutzung.

Jede Deklaration in eine einzelne Zeile (also nicht int a, b, c;)

Der Scope wird so klein wie möglich gehalten, am liebsten private bzw. methoden- oder blocklokal.

Kommentare

Kommentare an einer Deklaration, die beschreiben, was deklariert wird, deuten auf falsche Benennung.

Kommentare à la „ab hier passiert jetzt dies“ deutet auf die Notwendigkeit eine neuen Methode hin.

Quellcode, der weg kann, wird nicht auskommentiert, sondern gelöscht.

Diskussionen über Code gehören nicht in den Code.

Ist an einer Stelle im Code etwas unklar, fragt auf Gitter oder im Forum, ob es Euch jemand erklären kann.

Leere Codeblöcke werden kommentiert, warum sie leer sind, nicht dass sie leer sind.

Debugging nicht auskommentieren, sondern löschen (system.out, Testmethoden, main nur zu Testzwecken ….)

JUnit-Tests

In ein eigenes Verzeichnis tests auf der gleichen Ebene wie src.

Bei Datenbankzugriffen benutzen wir als IK „123456789“

Philosophie

Nein, nicht alles unter RehaCommons! Neeeeeiinnn, das tun wir nicht! Ich bin schon dabei, das commons wieder auseinander zu ziehen. Architektonisch will ich in Richtung Onion/Hexagonal.