|
Refactoring von Legacy Systemen (Jochen Winzen, andrena objects ag)Refactoring ist ein zentraler Bestandteil bei der agilen Softwareentwicklung (TDD). Im Praxisalltag trifft der Entwickler immer wieder auf bestehende Software, die ohne Tests und kontinuierliche Refactorings entwickelt wurde, und daher nicht mehr den heutigen Anforderungen an Qualität und Wartbarkeit genügt. Zunächst wird erläutert, warum Refactoring von Legacy Systemen eine sinnvolle Alternative zu einer Neuimplementierung ist. Auf die Vor- und Nachteile dieser Vorgehensweise wird eingegangen. Im Rest des Vortrags wird die Frage nach dem "Wie" auf Basis bisheriger Projekterfahrungen beantwortet. Im ersten Schritt ist eine gründliche Analyse des Systems vorzunehmen und ein grobes Sicherheitsnetz durch funktionale Tests zu erstellen. Um die Struktur des Programms grundlegend zu ändern, sind viele Refactorings nötig. Hier gilt es, die optimale Abfolge automatisierbarer Schritte zu finden und anzuwenden. Der Zuhörer bekommt so Einblick in die Best Practices beim Refactoring, wie man Tools optimal einsetzt, und welche Risiken es zu vermeiden gilt. Über den ReferentenJochen Winzen ist Softwareentwickler bei der andrena objects ag. Nach vielen Jahren Programmierung mit Java liegt sein aktueller Aufgabenschwerpunkt bei der Migration von Legacy Systemen nach Microsoft .NET. Er ist immer auf der Suche nach innovativen Konzepten für mehr Qualität und Produktivität. Im Forschungsprojekt MINT beschäftigt er sich mit der Evaluierung modellgetriebener Ansätze. |