Direkt zur Navigation | Direkt zum Inhalt



Clean Code Dojo

Clean Code Dojo

Clean Code Dojo Ein Code Dojo ist ein Treffen von Programmierern mit dem Ziel eine bestimmte Programmieraufgabe zu lösen um dabei Neues zu lernen. Die Idee stammt ursprünglich von Chad Fowler, der in seinem Blog über Code Katas schreibt. Der Begriff Kata steht für eine Übung beim Karate, die immer wiederholt wird, um Schritt für Schritt besser zu werden. Ähnlich wie beim Karate ist es nach Fowler auch bei der Musik. Um ein guter Musiker zu werden, ist es wertvoll die Mechanik des Instruments zu verstehen, die Theorien zu kennen und Talent zu haben. Am wichtigsten ist aber die Übung. Das Gleiche gilt für Entwickler – um ein guter Entwickler zu werden, ist es wichtig die benötigten Programmiersprachen zu kennen, die Theorien zu verstehen und Talent zu haben. Um wirklich gut zu werden, ist vor allem viel Übung entscheidend.

Entwickler üben in der Regel direkt bei der Arbeit und verursachen damit auch hier die meisten Fehler. Mit den Code Katas beschreibt Chad Fowler eine Möglichkeit dem entgegen zu wirken. Jedes Code Kata stellt eine Programmieraufgabe dar, die immer wiederholt werden kann, um Stück für Stück besser zu werden. Mit jeder Wiederholung können die Aufgaben z.B. in kürzerer Zeit, mit anderen Sprachen, in weniger Zeilen oder mit anderen Tools durchgeführt werden. Wichtig ist, dass man Spaß an der Aufgabe hat und etwas dabei lernen kann. Chad Fowler hat in seinem Blog seither 21 solcher Code Katas veröffentlicht.

Laurent Bossavit nahm diese Idee mit einigen weiteren Entwicklern auf und organisierte das erste bekannte Code Dojo. Also ein Treffen von Entwicklern, die gemeinsam versuchen ein bestimmtes Code Kata zu lösen. Mittlerweile gibt es solche Treffen immer öfter. In Deutschland organisiert z.B. die Münchner .Net-User-Group regelmäßige Code Dojos, in Finnland wird darüber berichtet oder bei der Universität von Houston.

Und was steckt hinter dem Clean Code Dojo?

Bei meiner Arbeit beschäftige ich mich sehr viel mit der Frage, wie wir unsere – über die Jahre gewachsene – Anwendung für die Zukunft wartbar halten können. Wie wir alten Code testbar machen und Stück für Stück aufräumen können. In einigen Diskussionen und Büchern bin ich dabei auf Code Reviews als Mittel gestoßen. Meine Befürchtung war allerdings, dass ein Review zu passiv verlaufen würde. Wenn eine Gruppe von 10 Leuten (um einen Beamer verteilt) über Code diskutiert, ist die Chance recht hoch, dass einige Diskussionen nur für wenige von Interesse sind und so mehr und mehr Leute abschalten und nur passiv „beisitzen“.

Unser Freelancer Florian brachte vor einer Weile das Thema wieder auf und fragte, warum wir nicht gemeinsam in kleineren Gruppen eine Aufgabe vornehmen und gemeinsam unseren Code testen, aufräumen und neu organisieren. Durch die kleineren Gruppen ist so jeder aktiver beim Thema und kann aus den einzelnen Diskussionen viel mehr für sich mitnehmen. Diese Idee fand ich spitze. Und mit meiner Vorliebe für das Buch Clean Code war der Name bald gefunden – Clean Code Dojo.

Als Zeitrahmen für unsere Treffen haben wir fürs erste drei Stunden gewählt. Auf einer Wiki-Seite werden mögliche Aufgaben gesammelt. Für jedes Treffen wollen wir uns genau eines dieser Ziele vornehmen. Die Entscheidung darüber fällt direkt zu Beginn eines Treffens. Letzten Donnerstag haben wir den ersten Versuch gestartet und damit begonnen sämtliche Coding Stylequide Violations zu beseitigen. Das Ziel war für den Anfang noch sehr einfach und passt nicht zu 100% in die Form eines Code Katas, doch es ergaben sich bereits hierbei einige interessante Diskussionen und viele Aufgaben für kommende Clean Code Dojos. Innerhalb der drei Stunden haben wir in ca. 300 Klassen 3000 Zeilen Code angepasst. Es wurde einiges gelernt und viel gelacht. Meiner Meinung nach ein Erfolg auf ganzer Linie.

Die kommenden Wochen werden zeigen, wie es weiter geht. Wir werden uns ab jetzt alle zwei Wochen treffen. Ich hoffe, dass die Motivation anhält, weiterhin viel gelernt wird und die Ergebnisse den Erfolg bestätigen.

Kommentare

Heiko Seebach
Dienstag, 14.09.2010 (11:15)

Hallo Holger,
und, habt ihr das noch ein zweites Mal gemacht?
Wie waren die Erfahrungen im Nachhinein?

cu, Heiko

Holger
Sonntag, 19.09.2010 (12:42)

Hallo Heiko,

die Clean Code Dojos haben wir bereits mehrere Male wiederholt. Es gab zwar auch Termine die ausfallen mussten, aber letztendlich bin ich mehr denn je von der Idee überzeugt. In meinen Augen hat es vor allem den Blick für die Qualtität unserer Code Basis im Team geschärft. Schön war es zu sehen, dass auch außerhalb der Dojo Termine vermehrt Diskussionen in Gang kamen, wie wir einzelne Probleme lösen, den Code klarer strukturieren und besser verständlich machen können.

Die Herausforderung für die Zukunft wird es sein, die einzelnen Termine gut vorzubereiten damit die strategisch wichtigsten Probleme in Angriff genommen werden. Eine wichtige Lektion war für mich zudem: Lauffähiger Code ist wichtiger als Clean Code. Auch wenn es schön zu sehen ist, wie über die Qualität unseres Codes diskutiert und dieser an vielen Stellen optimiert wird. In erster Linie ist es wichtig, dass der Code „bugfrei“ gehalten wird und lauffähig ist. Ansonsten wird Clean Code zum Selbstzweck. Das klingt für viele sicherlich selbstverständlich. Als Entwickler verliert man sich allerdings einfach zu gern in technischen Diskussionen und sollte sich diesen Punkt daher stets vor Augen halten.

Grüße
Holger

Neues Kommentar