Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 2 Min.

Refaktorieren führt nicht zu besserem Code

Laut einer jüngst veröffentlichten Studie von Forschern in Sri Lanka ist das Überarbeiten und Umstrukturieren von Programmcode komplett unnütz.
Die Ziele für das Überarbeiten von existierendem Code sind klar definiert: Der Code soll lesbarer und effizienter werden und alles in allem leichter zu pflegen sein. Es wird allgemein angenommen, dass die heute für das Refaktorieren investierte Zeit geringer wiegt als die zukünftigen Kosten, wenn der Code unter Termindruck geändert werden muss. All diesen Annahmen widerspricht die Studie welche die Forscher aus Sri Lanka hier veröffentlicht haben.Der überarbeitete Code ist danach nicht leichter zu verstehen, nicht leichter zu ändern, er läuft nicht schneller, spart keine Ressourcen und es gibt keinen Grund anzunehmen, dass der Code nach dem Refaktorieren einfacher zu Pflegen wäre. Dies sind die Kernaussagen der Studie. Diese wurde allerdings anhand einer recht überschaubaren Anwendung mit lediglich 4.500 Zeilen C#-Code durchgeführt. Dabei kamen zehn gängige Refactoring-Techniken zum Einsatz. Beurteilt wurde der Code dann von Studenten der Universität von Kelaniya -- die Hälfte begutachtete den alten, die andere Hälfte den neuen Code. Die gemessenen Unterschiede waren marginal.Freilich ist das Ergebnis nicht zu verallgemeinern. Bei einer Stichprobe von 1 gilt das Ergebnis auch nur für genau diese Stichprobe. Deren Code war eben schon vorher ganz brauchbar. Man müsste mal 333 zufällig ausgewählte Programme unterschiedlicher Länge derselben Analyse unterziehen. Dann wären die Ergebnisse vermutlich aussagekräftiger. [bl]
Miscellaneous

Neueste Beiträge

Übersehen seit .NET 8: TimeProvider für testbare Zeit
Seit .NET 8 gibt es TimeProvider als offizielle Zeit-Abstraktion. Doch noch zweieinhalb Jahre später ist sie in vielen Projekten unbekannt.
6 Minuten
1. Jul 2026
KI: SQL Server versus Anwendungscode - SQL Server 2025 und Microsoft Azure AI, Teil 2
Wer SQL Server und Anwendungscode bewusst trennt, erhält eine Architektur, die sowohl performant als auch wartbar ist und sich langfristig stabil betreiben lässt.
6 Minuten
Design mit KI - UX goes Dev, Teil 2
Wie die Integration künstlicher Intelligenz in Designwerkzeuge die Art und Weise verändert, in der digitale Benutzeroberflächen entstehen.
6 Minuten
2. Jul 2026

Das könnte Dich auch interessieren

C#-.NET-Apps mit WinUI 3 - Komponentenbasierte Apps mit Fluent/FAST, Teil 3
Microsoft macht mit WinUI 3 ein natives User-Experience-Framework für Windows verfügbar, dessen Komponenten auf dem Microsoft-eigenen Design-System Fluent 2 basieren.
23 Minuten
13. Mai 2024
Elektronische Schaltkreise im Browser simulieren - Simulation
Statt mit Steckfeld oder Lötkolben kann man auf dieser Website Schaltungen per Drag and Drop zusammenstellen und deren Verhalten testen.
2 Minuten
26. Jul 2018
Ameisen aus Code - Mit AntMe ins Programmieren einsteigen
Serious Games gestalten den Einstieg in das Programmierenlernen leichter und im wahrsten Sinne des Wortes spielerisch.
22 Minuten
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige