Characterization Tests und sichere Refactorings
Legacy Code ist Code ohne Tests – und er lässt sich ohne Tests nicht sicher ändern. Der Ausweg aus diesem Dilemma beginnt mit Characterization Tests: Tests, die das tatsächliche Verhalten dokumentieren, nicht das gewünschte. Seams einführen, statische Abhängigkeiten aufbrechen und schrittweise Klassen extrahieren – ohne eine einzige Zeile Produktionslogik zu ändern, bevor der erste Test grün ist.
Inhaltsverzeichnis
- 1. Was ist Legacy Code wirklich?
- 2. Characterization Tests: Verhalten dokumentieren, nicht erfinden
- 3. Seams einführen: Testpunkte in Legacy-Code schaffen
- 4. Statische Abhängigkeiten aufbrechen
- 5. Sprout Method und Sprout Class: sicher Code hinzufügen
- 6. Extract Class unter laufenden Tests
- 7. Legacy-Refactoring-Techniken