I'm a coder - Grafiken sagen mehr als Texte
Obwohl ich aktuell eigentlich viel im Coding Bereich zu sagen hätte, komme ich zurzeit leider nicht wirklich dazu umfangreiche I’m a coder Beiträge zu erstellen. Doch heute nehme ich mir, bei entspannten 32°, einfach mal wieder etwas Zeit.
Thema ist heute die Erstellung von Grafiken und Diagrammen zur Erklärung von Konzepten oder Abläufen innerhalb von Software. Denn wer kenn es nicht, man hat Software entwickelt, verschiedene Konzepte und Ansätze angewendet und dann vergehen einige Monate und vieles gerät in Vergessenheit oder aber ein neues Teammitglied möchte eingearbeitet werden. Bei mir trifft aktuell beides zu, denn bei meinen privaten Projekten vergesse ich durch häufige Kontextwechsel gerne Dinge und auf der Arbeit versuche ich gerade neue Kollegen in mein aktuelles Projekt einzubinden.
Dokumentation in Textform hilft hier, dazu einige persönliche Erklärungen, Beispiele direkt im Code zeigen und schon hat man den einen oder anderen Punkt vermittelt, doch wie viel bleibt davon hängen? Meiner Meinung nach ist ein Diagramm, welches die einzelnen Komponenten und ihre Beziehungen darstellt oder eine Grafik, die den eigentlichen App-Flow zeigt, extrem viel Wert und meist besser verständlich als komplexe Texte oder lange Monologe. Alles in Verbindung ist natürlich noch besser und zielführender.
Doch wie erstellt man Grafiken die flexibel sind, sodass Architekturänderungen einfach integriert werden können und die Grafiken am besten auch noch Git Repository fähig sind? Ich nutze keine proprietäre Software, da diese mitunter nicht jeder hat und niemand Binaries in Repositories mag. Stattdessen erstelle ich einfach Graphen in der DOT Language open_in_new oder via ähnlichen Mitteln und übersetze diesen Code dann in Bilder. Die Source-Dateien landen dann im Git, da es reine Textdateien sind und können einfach gepflegt werden. Nicht einmal Tools sind dafür nötig, denn mittels z.B. Graphviz Online open_in_new und anderen Plattformen kann man binnen Minuten die benötigten Diagramme erstellen und als Bilder exportieren. Falls Tools explizit gewünscht sind bietet z.B. Graphviz.org open_in_new Open Source Möglichkeiten zur Erstellung von Diagrammen.
Ich persönlich nutze aktuell eine Kombination aus Grafiken, einem Wiki und persönlichen Erklärungen, für den professionellen Kontext und privat beschränke ich mich meist auf Grafiken und kurze Bullet-Point-Listen, um Inhalte zu vermitteln. Dies läuft für mich derzeit durchaus gut, sofern man bei etwaigen Änderungen auch die entsprechende Dokumentation anpasst, denn Pflege ist hier das A und O.