Grüne Inseln im Brownfield-Schlamm
“Key lesson is, you can always (read: most of the time) do greenfield in a legacy code base.”
– Michael Feathers
Legacy Code ist eine der größten Herausforderungen für Entwickler überhaupt. Er kostet Nerven und fordert oft all unsere Kräfte, um auch nur ein kleines Feature in Produktion zu bringen. Aktuelle IDEs bringen viele Refactoring-Werkzeuge mit, die uns das Leben und Arbeiten im Brownfield erleichtern. Weniger bekannt sind aber Refactorings, die nicht vollautomatisch von unserer IDE übernommen werden können.
Motiviert von Michael Feathers’ Zitat möchte ich einige Refactorings und Legacy-Code-Techniken live vorführen, die die IDE nicht automatisch für uns ablaufen lassen kann, die man dafür auch tief im Schlamm des Brownfields einsetzen kann. So pflanzt man testgetriebene, grüne Inseln, die sich Schritt für Schritt vergrößern und so das ganze Projekt verbessern.
Als Beispielprojekt nehme ich die Gilded Rose Kata von Emily Bache und zeige damit systematisch, wie die Techniken in der Praxis eingesetzt werden können. Die Tests bleiben dabei immer grün und die Techniken werden so kleinschrittig wie möglich ausgeführt.
Vorkenntnisse: Etwas Java- und Refactoring-Erfahrung sind von Vorteil. Man muss aber kein Experte darin sein, um dem Vortrag folgen zu können.
Die Folien des Vortrags können hier heruntergeladen werden.