Als „Refactoring“ bezeichnet man die technische Veränderung von Software unter exakter Beibehaltung deren Funktionalität. Hintergrund ist die Verbesserung einer nicht-funktionalen Anforderung wie Wartbarkeit oder Wiederverwendbarkeit.
Um ein reibungsloses Refactoring zu gewährleisten, sollte die betroffene Software mit automatisierten Tests versehen sein. Außerdem sollten Veränderungen äußerst kleinschrittig erfolgen und immer wieder zwischendurch getestet werden, man spricht hier von sog. „Baby Steps“.
Damit Letzteres funktioniert, teilt man ein großes Vorhaben in bekannte, wohl verstandenen Einheiten, die sog. „Refactoring Patterns“. In dem man auf einheitliche Namen und Vorgehensweisen zurückgreift, vereinfacht man die Team-Kommunikation und kann leichter den IDE-Support nutzen.
Refactoring von (Java-) Quellcode
Refactoring von Datenbanken
Refactoring von Infrastrukturen
- ANT: Extract Target: http://www.build-doctor.com/2008/12/09/build-refactoring-extract-target/