‚Refactoring‘ (auch: Refaktorisierung oder Überarbeitung) bezeichnet in der Software- und App-Entwicklung die strukturelle Verbesserung von Quellcode, ohne dessen äußeres Verhalten oder Funktionalität zu verändern. Ziel ist es, Lesbarkeit, Wartbarkeit und Erweiterbarkeit des Codes zu erhöhen.
Refactoring ist ein zentraler Bestandteil der agilen Software-Entwicklung und wird häufig kontinuierlich während des Entwicklungsprozesses durchgeführt. Mit zunehmender Größe eines Projekts wird der Code oft komplexer und schwerer zu warten. Änderungen an Standards, Technologien oder Programmiersprachen machen zudem regelmäßige Überarbeitungen notwendig.
Im Rahmen des Refactorings werden insbesondere unübersichtliche oder fehleranfällige Codebereiche überarbeitet, die auch als Code Smell bezeichnet werden. Dabei bleibt die Funktionalität des Programms unverändert.
Typische Ziele des Refactorings sind:
- Verbesserung der Lesbarkeit des Quellcodes
- Erhöhung der Wartbarkeit und Erweiterbarkeit
- Vermeidung von Code-Duplikaten
- Verbesserung der Testbarkeit
Zur Umsetzung stehen Entwicklern verschiedene Maßnahmen zur Verfügung, etwa das Umbenennen von Variablen, das Verschieben von Code in andere Klassen, das Auslagern von Funktionen oder das Umstrukturieren von Codeblöcken.
Refactoring ist besonders in Teams mit mehreren Entwicklern wichtig, da parallele Arbeit häufig zu redundanten oder unstrukturierten Codeanteilen führen kann. Es dient daher als kontinuierliche Qualitätssicherung und sorgt für eine stabile und wartbare Codebasis.