Zunächst verfeinert Kent Beck die Terminologie: Im ersten Teil des Buchs geht es um „Aufräumereien“. Unter dem Begriff versteht er kleine Modifikationen an der Struktur eines Softwaresystems, die – anders als Refactorings – einen streng begrenzten Umfang aufweisen und nicht für die bei Refactoring oft auftretenden Pausen und Umwege anfällig sind. In gut 15 Kapiteln präsentiert Beck dann einen Rundumschlag gegen so ziemlich alles, was für Entwickler in der Praxis das Leben interessant oder schwierig zu gestalten vermag. Im Hintergrund erwartet er dabei allerdings die von Joel Spolsky und Co. geforderten Kriterien – das Kapitel zum toten Code empfiehlt beispielsweise lapidar, dass man „versehentlich zu viel entfernten“ Code ja jederzeit aus einem Versionskontrollsystem wiederherstellen kann. Beck beweist dabei durchaus Mut zur Kürze. Das vierte Kapitel, das unter dem Namen „Neue Schnittstelle, alte Implementierung“ läuft, ist beispielsweise nur eine halbe Seite lang. Die dort präsentierten Vorgehensweisen erkennt der Rezensent allerdings aus seiner praktischen Erfahrung sofort als vernünftig an. Die beiden Kapitel zur vernünftigen Verwendung von Kommentaren sind hilfreich und knapp. Die präsentierten Beispiele sind in einer Art Pseudocode gehalten, der allerdings für Python-, C-, Java- und .net-Programmierer gleichermaßen verständlich ausfällt.
Gezielte Ausführung von Aufräumereien
Obwohl die von Kent Beck vorgestellten Aufräumereien rein vom Umfang her nicht mit klassischen Refactorings vergleichbar sind, gilt trotzdem, dass ab einer gewissen Größe der Codebasis mit „Aufwand“ zu rechnen ist. Der zweite Teil wendet sich deshalb der Frage zu, wie man die diversen Aufräumarbeiten am vernünftigsten gegen eine vorliegende Codebasis angewendet bekommt. Eine Serie handgemalter Diagramme geht dabei sowohl auf die zeitliche als auch auf die arbeitspaketbezogene Dimension des Problems ein und hilft dem Entwickler, im Strom der Aufräumereien nicht den Blick auf die ebenfalls notwendige und für die Erzielung von Werten im Geschäft unabdingbare Entwicklung von Features zu verlieren. Lobenswert sind die Ausführungen zu den Trigger-Bedingungen für das Aufräumen „vorher“, „nachher“, „später“ und „nie“, anhand derer man „formalisiert“ entscheiden kann, wann es Zeit für eines der im Lehrbuch beschriebenen Mini-Refactorings ist. Der dritte Teil – er läuft unter dem Titel Theorie – versucht, eine „holistische Sichtweise“ auf die Softwarearchitektur zu liefern. Der geringe Umfang des Lehrbuchs fordert Tribut, die Ausführungen zu Koppelung können beispielsweise in keiner Weise damit mithalten, was Ted Faison in seinem einst bei Apress erschienenen Klassiker „Event-Based Programming“ unterbringt. Trotzdem gilt, dass das Lehrbuch auch in diesem Bereich „Interesse“ an der Weiterbildung weckt – dazu findet sich ein kommentierter Appendix, der auf drei Seiten verschiedenste Literatur anbietet.
Lohnt es sich?
Kent Becks Lehrbuch ist kompakt, aber doch lesenswert. Wer Inspiration für kleine, aber hocheffiziente Maßnahmen zur Verbesserung der Codequalität sucht und nicht mit großen Refectorings arbeiten möchte, wird den Kauf auf keinen Fall bereuen. Die deutsche Übersetzung gelang Thomas Demmig geradezu vorbildlich.
Tidy First? – Mini-Refactorings für besseres Software-Design
Kent Beck
Seiten: 124
Verlag: O’Reilly, 2024
ISBN Print: 978-3960092445
Sprache: Deutsch