Mit Refactoring können Unternehmen die Basis dafür legen, ihre Softwareanwendungen schneller und kostengünstiger um neue Funktionen zu erweitern. Idealerweise bildet das Verfahren einen integralen Bestandteil des kontinuierlichen Entwicklungsprozesses.
Avision, einem auf Software Revival spezialisierten IT-Dienstleister erklärt in diesem Beitrag, welche Vorteile das Refactoring von Source-Code hat und warum diese Technik wichtig für eine agile Geschäftsentwicklung ist.
Wenn der Programmcode stinkt
In der schnelllebigen Geschäftswelt von heute müssen Unternehmen neue Funktionen ihrer Software ihren Mitarbeitern oder Kunden so rasch wie möglich zur Verfügung stellen. Dem steht aber häufig die Struktur der Programmcodes im Weg. Vor allem bei so genannter Legacy-Software, also Anwendungen, die bereits mehrere Jahre im Einsatz sind, kommt es im Laufe der Zeit häufig zu Wildwuchs. Der Programmcode wird immer unübersichtlicher, dadurch immer schwerer lesbar und immer schwieriger zu verstehen. Die Folgen: Die Erweiterung der Software um neue Funktionen wird für die Unternehmen komplizierter, langwieriger und kostspieliger. Im schlimmsten Fall ist ein Programmcode irgendwann so undurchschaubar, dass die Software mit viel Aufwand und Kosten komplett neu entwickelt werden muss.
„Stinkenden Code“ beseitigen und „technische Schulden“ begleichen
Abhilfe kann hier das Refactoring schaffen. Bei dieser Methode wird ein Sourcecode „aufgeräumt“; seine Struktur wird optimiert, so dass der Aufwand für funktionale Erweiterungen in der Folge deutlich sinkt. Dabei wird beispielsweise „stinkender Code“ beseitigt. So bezeichnen Entwickler die Stellen in einer Programmstruktur, die Programmierungsfehler aufweisen oder nicht verständlich genug gestaltet worden sind. Ein Beispiel dafür sind etwa duplizierte Codes, also Codestrukturen, die mehrmals an verschiedenen Stellen im Quellcode vorhanden sind. Sie werden beim Refactoring überarbeitet und als eigenständige Codes restrukturiert.
Häufig werden bei einem Refactoring außerdem „technische Schulden“ beglichen. Sie entstehen vor allem dann, wenn Entwickler unter hohem Zeitdruck arbeiten und deshalb zugunsten der Geschwindigkeit die Qualität vernachlässigen. Sie gehen in ihren Codes dann Schleichwege und bauen Abkürzungen ein, was die Architektur der Software verkompliziert. Die Hierarchie der Software und ihre internen Abhängigkeiten sind nur noch sehr schwer nachvollziehbar. Durch das Aufräumen der Architektur beim Refactoring wird vermieden, dass solche Schulden irgendwann zu einem unüberwindbaren Hindernis anwachsen.
weiter zu Seite 2: Die fachliche Funktion der Anwendungen nach außen bleibt unverändert