Clean Code mit Hilfe der Pfadfinder-Regel
Nach unserem Vortrag “Die Kunst des Software Design” auf dem PHP World Kongress, diskutierten Stephan und ich noch eine Weile darüber, wie man eine bestehende Anwendung im laufenden Betrieb am besten aufräumt. Ist eine Anwendung lang genug in Betrieb und groß genug, kommt oft der Ruf nach einem groß angelegten Refactoring-Projekt. Ein Projekt, in dem Entwickler endlich einmal die Zeit haben Dinge, die schon seit langer Zeit im Argen liegen, aufzuräumen und die Anwendung wieder in Ordnung zu bringen. In den wenigsten Fällen werden solche Projekte allerdings genehmigt oder entsprechend priorisiert.
Robert C. Martin schreibt in seinem Buch Clean Code, dass Code über die gesamte Lebensdauer “sauber” gehalten werden muss und findet dafür eine treffende Regel der amerikanischen Pfadfinder: “Leave the campground cleaner than you found it”. Der einzelne Schritt beim Aufräumen muss dabei gar nicht groß sein. Ob eine lange Methode aufgebrochen, eine Duplikation eliminiert oder der Name einer Variable in einen ausdrucksvolleren Namen geändert wird, spielt dabei keine Rolle. Wenn der Code einer Anwendung mit jedem Commit ein kleines Stück sauberer wird, als er es zuvor war, wird die gesamte Anwendung nicht verrotten (siehe auch Broken-Window-Theorie).
Letztendlich sind wir zu dem Entschluss gekommen, dass in dem für gewöhnlich hektischen Alltag der Weg von Robert C. Martin genau der Richtige ist. Der Fokus bei der Entwicklung liegt allerdings eher auf einem konkreten TODO, anstatt auf dem Aufräumen der Codebasis. Probleme im Code werden zwar oft erkannt, aber nie korrigiert, da man gerade an etwas anderem dran ist. Aus diesem Grund wollten wir ein Poster gestalten, das einige kleine “Aufräum-Arbeiten” auflistet und dazu ermuntert in kleinen Schritten das große Ziel zu erreichen. Nachdem Stephan bereits die Punkte gesammelt hatte, habe ich heute das Poster fertig gestellt. Ich bin gespannt, wie es ankommt und zu welchem Ergebnis es führen wird.
Die Pfadfinder-Regel als A4 Poster als JPEG zum Download (ca. 1.1 MB)









