Buchbesprechung: Tidy First?​

Erstmal aufräumen? Das neue Buch von Softwareentwicklungs-Legende Kent Beck ist nun in einer deutschen Übersetzung erschienen und macht neugierig.​

In Pocket speichern vorlesen Druckansicht 8 Kommentare lesen
Buchrezension: Product Ownership meistern

(Bild: iX / generiert mit ChatGPT)

Lesezeit: 5 Min.
Von
  • Ralf D. Müller
Inhaltsverzeichnis

Kent Beck
Tidy First?
Mini-Refactorings für besseres Software-Design
O'Reilly, März 2024
124 Seiten, ab 26,90 Euro (Print/Digital)
ISBN: 978-3-96009-244-5

Kent Beck ist nicht nur durch das agile Manifest und seine Bücher über Extreme Programming und Test-Driven Development den meisten Entwicklerinnen und Entwicklern ein Begriff. Er ist durch seine Arbeit längst in die Ruhmeshalle der Softwareentwicklung aufgestiegen.

Ralf D. Müller

Ralf D. Müller beschäftigt sich hauptsächlich mit verschiedenen Aspekten der Softwarearchitektur und dem Softwaredesign. Er hat sich auf Architekturdokumentation spezialisiert und ist ein Verfechter des arc42- und des docs-as-code-Ansatzes.

So manches Buch habe ich verschlungen, ohne Vorwort und Einleitung zu lesen, tragen diese doch meist nicht zum Inhalt bei. Hier ist das anders, denn schon in der Einleitung finden sich zwei wichtige Informationen.

Zum einen handelt es sich bei "Tidy First?" um das erste Buch aus einer Reihe noch ungeschriebener Bücher zum Thema Softwaredesign. Das erklärt den Umfang des Buches von schlanken 124 Seiten und warum nach dessen Lektüre der Wissenshunger noch nicht ganz gestillt ist. Wie bei einer guten Fernsehserie frage ich mich am Ende, ob ich vielleicht doch die anderen Teile hätte abwarten sollen, um sie dann in einem Rutsch zu verschlingen.

(Bild: dpunkt.verlag (O'Reilly))

Zum anderen definiert Beck Softwaredesign als "Übung in zwischenmenschlichen Beziehungen". Ein wichtiger Aspekt, denn zu oft habe ich meinen Code nicht mit der Lesbarkeit als oberstes Qualitätskriterium, sondern eher der hohen Kunst meiner Fähigkeiten im Fokus optimiert. Getreu dem nicht ernst gemeinten Motto, der Code war schwer zu schreiben, also sollte er auch schwer zu lesen sein, demonstriert Code gerne die kognitiven Fähigkeiten des Verfassers und vergisst darüber, dass er eigentlich die Mensch-Maschine-Schnittstelle aus Sicht der Entwickler abbildet. Dementsprechend fördert die Definition nach Beck die gemeinsame Arbeit am Code durch gute Lesbarkeit.

Das Buch ist in drei Teile gegliedert, von denen sich die ersten beiden der Praxis und das letzte der Theorie widmen. Gerade die Praxisteile über die Aufräumarbeiten und wie man sie richtig einsetzt, sind im lockeren Stil eines Blogbeitrags verfasst und vermitteln die Ideen, ohne groß in die Tiefe zu gehen. Die Praxisteile lassen sich somit schnell verschlingen.

Im ersten Teil beschreibt Beck in 15 Kapiteln verschiedene Ansätze, wie sich Code aufräumen lässt, um ihn lesbarer zu machen. Jeder Ansatz wird kurz mit Pseudo-Code verdeutlicht. Die Ansätze muten wie eine Anleitung für die Pfadfinderregel an, dass man jeden Ort beziehungsweise jeden Codeschnipsel in einem besseren Zustand verlassen sollte, als man ihn vorgefunden hat.

Erfahrenen Entwicklerinnen und Entwicklern werden die meisten Ideen zum Aufräumen banal vorkommen (z.B. "schreibe erläuternde Kommentare"). Es ist aber nützlich, sie alle einmal strukturiert zu Papier gebracht zu sehen.

Im zweiten Teil geht es darum, wie man diese Aufräumarbeiten am besten einsetzt. Wann lohnt sich das Aufräumen? Mache ich erst meine Änderung und räume auf, wenn alles funktioniert? Oder räume ich erst auf, damit ich es leichter habe, meine Änderung umzusetzen?

Im dritten Teil wird es am spannendsten, denn hier geht es um die Theorie hinter dem Aufräumen und somit um das Softwaredesign. In zwölf kurzen und prägnanten Unterkapiteln erklärt Beck seine Theorie. Er definiert den Begriff des Softwaredesigns als "vorteilhafte Beziehung zwischen Elementen". Wo ich am Anfang des Buches etwas mehr Inhalt vermisst habe, werden die Texte an dieser Stelle ausführlicher und fordern zum Nachdenken auf.

Um den Wert des Softwaredesigns leichter greifbar zu machen, zieht Beck eine Analogie zum Finanzbereich und dem Wert von Optionen. Für jemanden, der sich in der Finanzwelt auskennt, ist dieser Vergleich sicherlich hilfreich, für andere kann er verwirrend sein. Das Aufräumen des Codes, um das Softwaredesign zu verbessern und damit mehr Optionen für Features in der Zukunft offen zu halten, ist eine Gratwanderung. Wie viel Zeit möchte ich jetzt investieren, um später eine Änderung, leichter durchzuführen, die jedoch vielleicht nie kommt? Der dritte Teil des Buches gibt zu dieser und ähnlichen Fragen die richtige Antwort.

Das neue Buch "Tidy First?" von Kent Beck ist interessant und macht neugierig auf die weiteren, angedeuteten Teile der Serie zum Thema Softwaredesign. Die Übersetzung ist gelungen. Anfangs habe ich dennoch ab und zu im Original nachgesehen und dabei festgestellt, dass der Schreibstil auch im Englischen teilweise ungewöhnlich ist. Inhaltlich bietet es interessante Sichten auf das Refactoring von Code, vor allem, um die Arbeit am Code zu vereinfachen und nicht allein des Refactorings willen.

[Anmerkung d. Red.: Der dpunkt.verlag als Herausgeber des deutschsprachigen O'Reilly-Buches ist wie iX Teil der heise group]

(map)