Buch- & Podcast-Tipp

29. März 2022

Previon Buchtipp: Refactoring

Wie erstrahlt schlechter Code in neuem Glanz? Und weshalb hängt die Effizienz von Entwickler:innen mit der Codequalität zusammen? Dazu schreiben Martin Fowler und Kent Beck in ihrem Buch «Refactoring».
Buchtipp Lars

Was verspricht das Buch / Welches Problem will es lösen?

Es verspricht, einem die Methodik zu vermitteln, wie bestehender Code verbessert werden kann. Wie man erkennen kann, warum ein Code verbesserungsbedürftig ist und was die Vorteile davon sind.
Somit soll Code einfacher zu lesen, zu warten und zu erweitern sein.

Wird dies erreicht?

Ja.

Wenn ja, wie?

Zu Beginn arbeiten die Autoren mit einem Beispielcode, erklären, welche Problematiken sie darin sehen und zeigen den Leser:innen Step by Step ihre Vorgehensweise auf, argumentieren diese und vermitteln so eine erste Idee zum Refactoring.

Weiter wird beschrieben, was Refactoring ausmacht und welche Vorgehensweisen dabei zu beachten sind. Der Aufwand, Code lesbar zu schreiben und bestehenden Code zu verbessern, vergleicht sich nur selten mit dem Mehraufwand, schlecht geschriebenen Code zu erweitern.

Da der Code beim Refactoring manchmal in viele Teile gespalten wird, riskiert man, dass sich weitere Bugs oder logische Fehler einschleichen. Deshalb wird in einem Kapitel die Wichtigkeit der Tests sowie das wirksame Schreiben ebendieser erläutert.

Zitat
Wie ich mich kenne, stellt sich hier nicht die Frage, ob, sondern wann ich einen Fehler begehe.

Im letzten Teil des Buches wird jeder Teilschritt des Refactorings in Unterkapiteln katalogisiert. Jedes wird ausführlich beschrieben. Es erinnert an einen Duden für Softwareentwicklung. Also Rechtschreibung für les- und erweiterbaren Code.

Was macht die Autoren qualifiziert, über dieses Thema zu schreiben?

Martin Fowler ist seit 1980 in der Softwareentwicklung tätig. Er schrieb mehrere, in der Softwareentwicklung bedeutende Bücher und prägte den Begriff «Dependency Injection». Heute arbeitet er bei Thoughtworks als «Chief Scientist». Ein Titel, mit dem sich Fowler aufgrund seiner Bescheidenheit nicht so gut identifizieren kann. Kent Beck ist einer der Mitbegründer der Methode Extreme Programming und ebenfalls Autor mehrerer Bücher. 

Wie ist der Ton des Buches?

Das Buch liest sich sehr leicht, trotz der sachlichen, trockenen Materie. Die Autoren bringen eine angemessene Portion Humor und Ehrlichkeit in ihre Texte, weshalb sie einem hie und da ein Lächeln abgewinnen können.

Gesamteindruck: Persönliche Einschätzung

Beim Lesen des Buches habe ich für mich sehr wertvolle Erkenntnisse mitgenommen. Es macht einem klar, welche Verantwortung man gegenüber dem Code und den nächsten Entwickler:innen, die ihn lesen müssen, hat.

Wurde das Buch so geschrieben, dass man sich als Leser:in damit identifizieren kann?

Ja. Jede:r Softwareentwickler:in hat sich schon mit Code auseinandersetzen müssen, welcher schlecht zu lesen und schlecht erweiterbar war.

Ist das Buch sauber recherchiert? Gibt es ein Quellenverzeichnis?

Der Inhalt stützt sich zu vielen Teilen auf die Erfahrung der Autoren. Am Ende des Buchs findet man eine Bibliographie.

Welchen Teil des Buches findest du am besten?

Kapitel 3: Code-Smells. Daraus lernte ich, wie ich Gefahren im Code erkennen und diese beheben kann. Ich werde das Buch bei meiner Arbeit als Unterstützung gebrauchen.

Welchen am wenigsten?

Keinen, jeder Teil ist für mich relevant.

Wenn du etwas ändern könntest, was wäre es?

Nichts.

Welchen Leser:innen würdest du das Buch empfehlen?

Allen Entwickler:innen, die nicht der Ansicht sind, perfekten Code schreiben zu können.

Gesamteindruck

Relevanz
Aufbau
Gesamteindruck
Zitat
Ich bin kein grossartiger Programmierer; ich bin nur ein guter Programmierer mit grossartigen Angewohnheiten.