Definitionen durchsuchen :
Definition

Refactoring

Bei Refactoring wird laut Martin Fowler, Erfinder des Konzepts, ein Softwaresystem so verändert, dass es das externe Verhalten des Codes nicht verändert, aber seine interne Struktur verbessert. Das Konzept des Refactoring, auch Refaktorierung oder Restrukturierung, umfasst praktisch jede Überarbeitung oder Bereinigung des Quellcodes. Fowler fasste allerdings auch viele bewährte Praktiken aus der gesamten Softwareentwicklung in einer spezifischen Liste zusammen und beschrieb sie in seinem Buch Refactoring: Improving the Design of Existing Code.

Fortsetzung des Inhalts unten

Ein Ansatz zum Refactoring besteht darin, die Struktur des Quellcodes an einer Stelle zu verbessern und dann dieselben Änderungen systematisch auf alle anwendbaren Referenzen im gesamten Programm auszudehnen. Ziel ist es, den Code effizient, skalierbar, wartungsfreundlich und wiederverwendbar zu machen, ohne tatsächlich irgendwelche Funktionen des Programms selbst zu verändern. In seinem Buch beschreibt Fowler eine Methodik zur Bereinigung von Code bei gleichzeitiger Minimierung möglicher Fehler.

Während Refactoring auf jede beliebige Programmiersprache angewendet werden kann, wurde die Mehrzahl der aktuellen Refactoring Tools ursprünglich für die Sprache Java entwickelt. Im Jahr 2001 begannen erste automatisierte Refactoring Tools auf den Markt zu kommen, darunter die IntelliJ IDEA Java IDE (Integrated Development Environment), das X-ref-Plug-in für den Emacs-Editor und das eigenständige Refactoring Tool Instantiations jFactor.

Viele grundlegende Editierumgebungen unterstützen einfaches Refactoring wie das Umbenennen einer Funktion oder Variable über eine gesamte Codebasis hinweg. Nach Ansicht des US-Autors und Softwareentwicklers Eric Raymond behauptet, stimmt das Konzept des Refactoring mit dem Ansatz „Get-something-working-now-and-perfect-it-later“ überein, der Unix- und Open-Source-Programmierern und Hackern seit langem vertraut ist. Diese Idee ist auch in dem als Extreme Programming bekannten Ansatz enthalten.

Heute spielt das Refactoring eine wichtige Rolle bei der Modernisierung von Software und der Verlagerung von Legacy-Anwendungen von einer monolithischen Struktur zu Microservices.

Diese Definition wurde zuletzt im Dezember 2020 aktualisiert

ComputerWeekly.de

Close