[Live Coding] Grüne Inseln im Brownfield-Schlamm

Details

"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.

Georg Berky:
Ich bin leidenschaftlicher Programmier und hauptsächlich in JVM-Sprachen, z.B. Java, Groovy oder Clojure unterwegs. Programmieren ist mein Handwerk, aber dazu gehören auch Themen wie die Automatisierung von Builds oder Deployments und Scripting in der Shell und Agilität im Team. Seit einigen Jahren bin ich Co-Organisator der Software Craftsmanship Communities im Ruhrgebiet und in Düsseldorf. Wenn ich nicht programmiere praktiziere ich Aikido oder spiele Trompete.