Beispielsweise kann durch Wartungen die Struktur der Software entartet worden sein und folglich sind weitere Änderungen schwierig. Mit einer kontinuierlichen Restrukturierung kann Software leichter verständlich und leichter veränderbar gemacht werden. Dabei muss darauf geachtet werden, dass die Funktionalität beibehalten wird. Das Refactoring setzt sich aus einem Katalog an Maßnahmen zusammen, wie beispielsweise der Entfernung von redundantem Code oder der Zusammenlegung eines Moduls.
Refactoring ist eine mögliche Umsetzung eines Software Revivals. Im Refactoring-Prozess wird ein Softwaresystem so verändert, dass das externe Verhalten unverändert bleibt, die Codestruktur aber verbessert und modernisiert wird.
In diesem Fall verwendete ein Kunde aus dem Logistikbereich eine Anwendung, die unanbringliche Sendungen erfasst, verarbeitet und an andere Schnittstellen weitergibt. Die Codequalität der Anwendung erfüllte nicht die aktuellen Erfordernisse, dadurch gestaltete sich die Wartung und Weiterentwicklung immer schwieriger.
Die Codequalität wurde mit SonarQube überprüft und die zu optimierenden Stellen identifiziert. Anschließend fand eine Überarbeitung diese Stellen statt und eine Verbesserung der Codequalität.
Durch den Refactoring-Ansatz wurde die Codequalität auf die nächste Stufe gehoben. Die Softwarequalität hat sich laut auftraggeberseitiger Metrik verdoppelt.