Kurz und knapp gesagt, ist Refactoring das Umbauen von Programm-Code, um dessen Effektivität zu erhöhen, ohne dass sich nach außen hin dessen Funktion ändert. Typischerweise wird refaktoriert, um Code lesbarer, kürzer oder schneller zu machen.
Aus dem Leben eines Programmierers:
Nun habe ich eine Code-Stelle mit 7 Zeilen, deren Funktionsweise erweitert werden soll. Daraus wurden dann ca. 50 Zeilen.
(Das ist noch kein Refactoring.)
Diese wurden zur besseren Lesbarkeit umgebaut, und siehe da, da waren es nur noch 17.
(Jetzt ist es Refactoring.)
Da sich diese 17 Zeilen aber anscheinend Außenstehenden, die sich nicht schon in das Problem eingelesen haben, nicht so offensichtlich erschlossen wir mir (was ja kein Wunder ist, nachdem ich stundenlang darüber brütete…), wurde der Wartbarkeit wegen alles NOCH EINMAL umgebaut. Ich bin wieder bei 50 Zeilen, dafür über 3 Funktionen verteilt.
(Trotz der neuen Funktionen ist es Refactoring, da die öffentliche Sichtbarkeit noch die selbe ist.)
Das Ergebnis des Refaktoring:
Nach stundenlangem Grübeln, Umbauen und Testen passiert am Ende immer noch exakt das Selbe wie vorher…!
Das ist das Programmiererleben. 🙂