Refactoring von Java Applikationen
Selbst bei fundierter Designplanung ist es schwierig, die Codequalität einer Anwendung bei fortschreitendem Lebenszyklus zu halten. Wachsende und sich ändernde Anforderungen verwässern das Design. In der Praxis sind viele Programme von Anfang an auf einem eher schwachen Design-Fundament aufgebaut, vorwiegend mangels Erfahrung bei den Designverantwortlichen. Refactoring ist eine Technik, die dabei hilft, die Qualität bestehenden Sourcecodes zu verbessern. Dabei spielen Aspekte wie strukturelle Integrität, Verantwortlichkeit, Einbeziehung des Compilers und Performanz eine wichtige Rolle. Refactoring bezeichnet einen Katalog von Massnahmen, die dabei helfen, den Code einer Applikation so umzustrukturieren, dass ein gutes und robustes Anwendungs-Design erreicht werden kann. Im Gegensatz zu Design-Patterns, die bereits vor der Implementierung gewinnbringend eingesetzt werden können, setzt Refactoring auf der Code-Basis auf. Insbesondere im Java-Umfeld existieren Werkzeuge und/oder Entwicklungsumgebungen, die den Programmierer bei der Tätigkeit des Umstruktierens unterstützen.
Ausgewählte Refactorings werden im der Schulung diskutiert und beispielhaft implementiert. Anhand einer Fallstudie wird ein kleines Programm schrittweise von einem zweifelhaften in ein gutes Design überführt. In Gruppenübungen ist es Aufgabe der Teilnehmer, zu typischen Problemstellungen passende Refactorings zu finden.