Um dieses Ziel zu erreichen, muss man die Struktur des bereits funktionierenden Programmcodes verbessern und den Code übersichtlicher und verständlicher umformen. Da bei der Softwareentwicklung öfter Programmcode gelesen als geschrieben wird, ist das Anstreben des Hauptziels ein guter Ansatz, da die Einarbeitung von fremdem Code so mit einen geringerem Zeitaufwand bewerkstelligt wird.
Bei komplexen Programmstrukturen ist es schwierig und teuer die Struktur und ihr komplexes Design zu verstehen und zu erhalten. Daher werden die Änderungen oft kurzfristig und ohne vollständiges Verständnis des Codedesign und mit möglichst wenig Aufwand durchgeführt. Dieses Vorgehen hat allerdings den Nachteil das die Struktur und das Design des Programms auf Dauer darunter leidet. Eine Weiterentwicklung wird immer schwieriger und das Programm unverständlicher.
Um nun die Codestruktur langfristig aufrechtzuerhalten und zu verbessern, refaktorisiert man und eliminiert die Redundanz.
Eine übersichtliche klare Struktur von verständlichen Programmen erleichtert es den Programmierern, die Fehlerzahl zu reduzieren. Dabei ist beim Refaktorisieren zu achten, dass man kleine einfache und systematisch durchführende Schritte macht. Der Vorteil ist, dass durch eine geringere Anzahl von Fehlern auch weniger Zeit aufgewendet wird für die Fehlersuche und stattdessen die Zeit genutzt werden kann um neue Funktionalitäten hinzuzufügen.
Durch das häufige Testen zwischen den Refaktorisierungsschritten können so nur kleine Änderungen entstehen. Dies führt auch zu einer geringeren benötigten Zeit für die Fehlersuche, da der vorherige Zustand leicht wiederhergestellt werden kann.
Die Zeit, die für den Vorgang des Refaktorisierens beansprucht wird, sollte so gering wie möglich ausfallen, da keine neuen Funktionalitäten hinzugefügt werden und der gesamte Entwicklungsprozess beschleunigt werden soll. Hierfür müssen die häufig benötigten Tests automatisiert werden und die Programme selbsttestend gemacht werden. Dadurch, dass weniger Fehler gesucht werden müssen, die Programme übersichtlicher und verständlicher werden, und damit weniger Zeit für die Einarbeitung und Fehlersuche benötigt werden, soll sich auch die gesamte Entwicklungszeit verkürzen.
Fasst man alle oben genannten Eigenschaften einer Software zusammen, so stellt man fest, dass sich Qualität und Wert der Software erhöhen. Das Ziel der meisten Softwareentwickler wird zum Ziel des Refaktorisierens gemacht, nämlich die Software schnell änderbar, übersichtlicher und verständlicher zu machen, zudem fehlerminimiert, gut strukturiert und somit qualitativ hochwertig.
Impressum