Convention over documentation – Konvention vor Dokumentation.
ROBERT BRUCKBAUER

Das Prinzip COD ist eine Variante des Prinzips COC. Es geht im Wesentlichen um die Vermeidung von Dokumentation: Was durch Code bzw. einer code-nahe Spezifikation oder Konfiguration ausreichend gut beschrieben wird, muss im Wiki nicht mehr zusätzlich beschrieben werden. Das Wiki stellt nur mehr eine Art Navigationshilfe für Code dar.

Das Prinzip basiert auf der Konvention, dass Bezeichnungen aus dem Wiki sich direkt im Code wiederfinden, z.B. als Namensraum oder als Teil des Namens einer Klasse oder Datei.

  • Den Baustein Domain nutzen wir zur Gruppierung von Diensten. Der Titel  ist gleichzeitig Teil des Namensraums, in dem sich die Klassen der Dienste und seine öffentlich sichtbaren Informations- und Nachrichtenobjekte befinden. Auch der Name des git-Repository mit den Build-Projekten leitet sich vom Titel ab.
  • Den Baustein Service nutzen wir, um einen Dienst innerhalb des Systems einen eindeutigen Titel zu geben und seine Funktion zu beschreiben. Der Titel wird zur Bildung des Names des Dienstes verwendet, z.B. als Interface oder Hauptklasse des Dienstes.
  • Der Baustein Event bzw. Entity gibt einer Nachricht bzw. Fachklasse einen eindeutigen Titel und beschreibt seinen Inhalt.  Der Titel findet sich im Namen der Implementierungsklasse wieder. Bei der Verwendung von Schemaspezifikationen wie beispielsweise Apache Avro oder XSD ist es der Titel gleichzeitig der Name der Schemadatei . Erst dort sehen wir alle Details, z.B. Typ oder Einschränkungen (Constraints) einer fachlichen Eigenschaft.

Wenn wir diese einfach umzusetzenden Regeln berücksichtigen, dann brauchen wir keine spezielle Dokumentation mehr, um einen Dienst, eine Nachricht oder eine Fachklasse mit der technischen Lösung zu verknüpfen. Der Name allein reicht. Er ist der ideale Einstieg in die Implementierung.

Dieses Prinzip hilft auch bei der Durchsetzung der gemeinsamen Sprache im Projekt.