Clean Code

Literatur  –  Kommentare

Robert C. Martin
Clean Code
Refactoring, Patterns, Testen und Techniken für sauberen Code

2009, mitp-Verlag
476 Seiten
ISBN 978-3-8266-5548-7
€ 39,95

Sauberen Code möchte jeder Entwickler schreiben. Zum einen deswegen, damit er nach einer Weile noch die Belange seines Codes versteht, zum anderen, damit ein Kollege sich leicht in den Code einarbeiten kann. "Uncle Bob", wie Robert C. Martin auch genannt wird, weist darauf hin, dass auch schlechter Code durchaus funktionieren kann, führt dann aber Beispiele an, bei denen schlechter Code Softwarehäuser in die Bredouille gebracht hatte.

Das seitenmäßig wie inhaltlich schwergewichtige Werk möchte nicht mehr, als dem Leser das Verständnis zu lehren, sauberen Code nicht nur von schlechtem unterscheiden zu können, sondern auch die Fähigkeit zu vermitteln, wirklich guten und sauberen Code zu schreiben. Dafür fordert Martin die aktive Mitarbeit des Lesers ein, das Buch zu überfliegen reicht nicht. Man muss sich das Werk mit seinen zahlreichen Codebeispielen hart erarbeiten, denn nur dann, darauf weist der Autor nachdrücklich hin, erlernt man die Fähigkeit, guten Code schreiben zu können.

Klassiker der Softwareentwicklung

Martin hat "Clean Code" dreigeteilt: Nach der Einführung kommt mit "Sauberer Code" ein Plädoyer für das Schreiben sauberen Codes. Hier lässt Uncle Bob Größen aus der Softwareentwicklung sprechen, etwa Bjarne Stroustrup, Grady Booch und Ward Cunningham, die ihre Sichtweise von sauberem Code darlegen und erläutern. Es schließen sich Kapitel an, die die Prinzipien, Patterns und Techniken zum Schreiben sauberen Codes vermitteln.

Im Mittelteil des Buchs, das den größten Raum einnimmt, findet man zahlreiche Beispiele für das Codieren und Refactoring, sodass sauberer Code entsteht. Es sind in ihm mehre Fallstudien durchzuarbeiten, und zwar durch die Bereinigung des Codes, bis schließlich sauberer Code das Ergebnis der Mühen ist. Abschließend folgt mit dem Kapitel "Smells und Heuristiken" die Quintessenz der Arbeiten aus dem Mittelteil. Hier stellt Martin die abgeleiteten Verfahren dar, die bei der Erstellung sauberen Codes hilfreich sind. Allerdings, und darauf weist er hin, seien die Verfahren anerkannt, aber damit nicht in Stein gemeißelt. Ist man mit einer Vorgehensweise nicht einverstanden und lehnt sie für die eigene Arbeit ab, sei das durchaus legitim. Man sollte sich jedoch mit der Vorgehensweise kritisch auseinandergesetzt haben.

Noch ein Wort zu den Codebeispielen, die alle in Java geschrieben sind. Die schlechten, im Verlauf eines Kapitels in bessere Alternativen umgeschriebenen Codebeispiele sind teilweise recht haarsträubend. Ein Beispiel beim Kapitel über Funktionen (aus der Praxis des Open-Source-Testwerkzeugs FitNesse) ist recht unleserlich im Original, nach erfolgreichem Refactoring durch Matin ist der Code fast nicht wieder zu erkennen – dafür aber klar gegliedert, und seine Aufgabe erschließt sich schnell.

"Clean Code" ist ein Werk mit viel Tiefgang. Uncle Bob schreibt bereits in der Einführung, dass sich "Clean Code" nicht einfach zwischen Start und Landung eines Flugs konsumieren lässt, sondern er fordert harte Mitarbeit ein. Wer sich aber darauf einlässt und sich das Werk erarbeitet, dem wird das Handwerkszeug mitgegeben, in Zukunft sauberen Code zu schreiben. Das Buch hat sich einen Stammplatz im Kreis der Klassiker der Softwareentwicklungsbücher redlich verdient und einen Platz im Regal von Informatikstudenten und schon praktizierenden Entwicklern ebenfalls. (Karsten Kisser / (ane)