Mit dem „Clean Code“-Kochbuch schickt der O’Reilly-Verlag ein Lehrbuch ins Rennen, das auf mehr als 400 Seiten so ziemlich jeden auf die Palme bringen und – hoffentlich – auch zum Nachdenken über Softwarequalität animieren dürfte.
Als „Denkmodell“ setzt der Autor Maximiliano Contieri dabei auf das Objektmodellierungssystem MAPPER, hinter dem sich ausgeschrieben der durchaus lange Satz „Modell: abstrakte, partielle und programmierbare Erklärung der Realität“ verbirgt. Im Rahmen der Einleitung kommen auch geisteswissenschaftliche Themen wie die Sprechakttheorie und die Sapir-Whorf-Hypothese zur Sprache.
Diskussion über alte Kamellen
Contieri stellt manche lieb gewonnenen Gewohnheiten wie die Umkehrung der If-Bedingungen in Anbetracht der Weiterentwicklung der für die Softwareentwicklung zur Verfügung stehenden Werkzeuge zur Disposition. Die in der Einleitung gemachte Feststellung, dass es sich dabei nur um Diskussionsvorschläge handelt, ist zu beachten, jeder Codierer dürfte aber aus diesen Vorschlägen intensive Denkanstöße für eigene Verbesserungsmaßnahmen der Codequalität beziehen.
Leichtigkeit und Modellierung im Einklang
Getreu dem Akronym MAPPER lässt sich die bevorzugte Vorgehensweise ableiten: Der Autor sieht Code als Abbild der realen Welt.
Der Text begibt sich ins Spannungsfeld aus Komplexität und Simplizität. Während er in manchen Fällen die Vereinfachung, beispielsweise von Interfaces, auf eine geradezu radikale Art und Weise forciert, setzt er in anderen Fällen – ein Stichwort wäre die im Allgemeinen unschuldige If-Selektion – auf Polymorphie und objektorientierte Übertötung der zu lösenden Aufgabe. Andererseits präsentiert Contieri vernünftige Methoden zur Steigerung der Lesbarkeit. Neben Überlegungen zu stark verschachtelten Bedingungen wendet sich das Werk auch dem „Chaos“ zu, das sich Codierer bei der Arbeit mit nebenläufigem JavaScript-Code einhandeln.
Auch die Überlegungen zu Nullwerten – dass ihr „Entdecker“ das Öffnen dieser Büchse der Pandora mittlerweile bereut, dürfte bekannt sein – geben dem Codierer Anstöße zur Verbesserung seiner mentalen Prozesse an die Hand.
Von der Strukturierung des Codes als Ganzes
Wer das Kochbuch nur als Rezept-Sammlung zur Verbesserung der Codequalität verstehen möchte, tut dem Autor unrecht: Er versucht, Systeme holistisch zu optimieren. Neben Überlegungen zu den Übeln der vorzeitigen Optimierung findet sich eine Einführung in die Thematik der Softwarekoppelung: Dieses im Klassiker „Event-Based Programming“ von Ted Faison populär gemachte Paradigma hilft Entwicklern, den „Grad der Vermaschung“ innerhalb einer vorliegenden Codebasis zu erfassen und nach Maßgabe der Möglichkeit im Interesse besserer Wartbarkeit zu reduzieren.
Die didaktische Herangehensweise befriedigte den Rezensenten indes weniger. Anstatt die Koppelungsmathematik im Stil von Faison vorzustellen, liefert Contieri ein gutes Dutzend Regeln, die bei direkter Umsetzung ohne Mitdenken zu einer Reduktion der Koppelung in der Codebasis beitragen sollen.
In ebendiesem Sektor finden sich allerdings auch Überlegungen zum Softwaretest, zur Handhabung von Ausnahmen, zur Interaktion mit Datentypen und sogar Gedanken dazu, wie defensives Programmieren die Sicherheit eines Systems zu verbessern vermag. Wie im gesamten Rest des Werks hält sich Contieri auch hier an ein striktes Schema, das für jeden Sektor eine Gruppe von Problemen, die dazu gehörenden Lösungen und eine kleine textuelle Diskussion des soeben Vorgestellten präsentiert. Im Bereich des Codes setzt das Kochbuch auf Pseudocode. Wer sich mit Java, Python oder C++ auskennt, dürfte keine Probleme haben, den vorliegenden Code zu verstehen.
Fazit – der Einstieg in eine Reise
Ein alter Kalauer besagt, dass auch der längste Weg mit dem ersten Schritt in Richtung des Ziels beginnt. Das Erreichen hoher Codequalität ist definitiv ein Themenkreis, auf den dies zutrifft.
Erfahrene Entwickler finden im „Clean Code Cookbook“ eine geballte Ladung verschiedenster Denkanstöße, die die Qualität der erzeugten Produkte auf holistischer Ebene verbessern – ein Werk, das durchaus eine Empfehlung verdient.

Maximiliano Contieri
„Clean Code Cookbook: Recipes to Improve the Design and Quality of your Code“
Seiten: 428
Verlag: O’Reilly, 2023
ISBN Print: 978-1098144722
Sprache: Englisch