Welcher erfahrene Projektentwickler kennt das nicht? Rein in ein neues Projekt, IDE aufsetzen, Code auschecken und erste Java Klassen analysieren. Schnell drängen sich Fragen auf wie: Ist der Code homogen und sind Muster bzw. ist ein roter Faden erkennbar? Kann ich mich an den vorhandenen Klassen beim Entwickeln orientieren? Zu oft ist das nicht der Fall...

Keine einheitliche Benennung von Klassen, Methoden und Variablen, unterschiedliche Arten der Einrückung, verschiedene Datei-Zeichensatz-Enkodierungen und der Bildschirm leuchtet hell gelb, durch die Hinweise der IDE. Die Erfahrung der letzten Jahre lehrt mich: Style Guide, Code-Konventionen und Best-Practices im Programmierer-Alltag werden zwar gerne und häufig diskutiert, doch selten kann sich ein Projektteam auf ein stabiles Rahmenwerk einigen.

Ich persönlich bin ein großer Freund von klaren, definierten Coding Guidlines und Style Guides - sie nehmen mir als IT Architekt viel Arbeit ab und führen in der Entwicklung zu höherer Effizienz (und/oder Velocity).

Warum sind Style Guides bzw. Code-Konventionen und Enwicklerleitfäden wichtig?

  1. Leifäden zeigen Lösungen für sich wiederholende Fragestellungen wie Exception Handling, Logging, technisches Design und teile der IT Architektur auf.
  2. Code-Konventionen verbessern die Lesbarkeit der Software und ermöglichen neuen Code schneller und besser zu verstehen.
  3. Etwa 80% der Kosten einer Software (über deren kompletten Lebenszyklus) gehen an die Wartung. Diese Kosten können durch klaren Code reduziert werden.
  4. Gute Code-Konventionen führen zur Minimierung von Komplexität im Code (z.B. maximale Zeilen einer Methode/Klasse oder JavaDoc).
  5. Software wird in der Regel im Team erstellt und somit von verschiedenen Autoren bearbeitet. Man kann damit den Overhead bei der Einarbeitung minimieren.
  6. Wenn der Quellcode als Produkt ausgeliefert wird, muss sichergestellt sein, dass er genauso gut verpackt und sauber ist wie jedes andere erstellte Produkt.

Ordentliche IDEs wie IntelliJ oder die eclipse IDE beinhalten bereits in ihrer Default-Konfiguration ein gewisses Set an Hinweisen und Style Guides. Des Weiteren bieten viele Anbieter von OpenSource-Projekten bereits fertige Konfigurationen für verbreitete IDEs, die nur noch importiert werden müssen. Somit stellt die OpenSource Community sicher, dass alle Beteiligten mit den selben Einrückungen, Benennungen, Zeilenlängen, etc. arbeiten.

Worauf also noch warten?

In folgendem git repository kann man z.B. den Style Guide von Google herunterladen: klick mich!

Weitere hilfreiche Links / Quellen:

  1. Alle google Style Guides
  2. Oracle code conventions
  3. Code-Konventionen auf deutsch
  4. Wiki Definition von Coding conventions