Buchtipp: Working effectively with Legacy Code


Cover: Working Effectively with Legacy CodeEiner der wichtigsten Gründe, den wir Entwickler immer wieder nennen, wieso es nicht möglich sei, das Thema Unit Testing in einem bestehenden System unterzubringen, ist die Tatsache, dass es bei der schieren Menge an Code, die es schon gibt, schlichtweg Jahre dauern würde, alle notwendigen Tests zu schreiben.
Natürlich ist das richtig, und doch so falsch: Schliesslich wird man in einem Projekt niemals die Qualität erreichen können, die man eigentlich erreichen möchte, wenn man nicht irgendwo anfängt.
Nur, wie fängt man das nun an mit den Tests, wenn man hunderttausende Zeilen Code vor sich hat.
Genau da setzt Michael Feathers an. Zunächst zeigt er auf, welchen Nutzen man gerade bei altem Code aus Tests ziehen kann, und führt den Leser in Techniken ein, bestehenden Code durch Refactorings und notfalls auch durch kontrolliertes manuelles “Aufbrechen” von Abhängigkeiten für Tests erst zugänglich zu machen.
Das zweite Argument, das man häufig hört ist die Frage, wie man denn solch komplexe Testdaten zusammenstellen soll, wie man sie für einen vernünftigen Test benötigen würde.
Feathers beschäftigt sich auch damit, wo es sinnvoll und notwendig sein kann, sich im Kontext von “Legacy Code” nicht an die Regeln der testgetriebenen Entwicklung zu halten, und wie man mit den damit verbundenen Gefahren umgeht.
Das Buch öffnet einem die Augen für den Umgang mit Alt-Code und gibt viele gute Tipps. Es gibt zwar die eine oder andere Länge, aber das Buch liest sich sehr flüssig und ist – typisch amerikanisch – sehr praxisorientiert.

Empfehlenswert für jeden, der sich mit der Materie “Pflege bestehender Anwendungen” beschäftigen muss…

(Kaufen bei Amazon)