Lohnt sich die Zeit für die Überarbeitung einer Codebasis auf lange Sicht im Hinblick auf die Entwicklerproduktivität?
Mir scheint ziemlich klar zu sein, dass das Ändern eines sauberen, gut gestalteten Systems viel einfacher und schneller ist als das Arbeiten an einem schlecht gestalteten System, aber ich bin auf der Suche nach soliden Beweisen. Gibt es Studien zu diesem Thema?
productivity
complexity
Benny Hallett
quelle
quelle
Antworten:
Empirisch ist es schwieriger, Software mit Metriken mit höherer Komplexität, wie z. B. zyklomatischer Komplexität, zu warten. Es gibt Forschungen, die dies aus den 1970er Jahren belegen ("Program Complexity and Programmer Productivity", ET Chen) . Es gibt auch Arbeiten, die darauf hinweisen , dass sich die Komplexitätsdichte, dh die zyklomatische Komplexität über die Größe des Systems, auch auf die Wartungszeit bezieht ("Zyklomatische Komplexitätsdichte und Produktivität der Softwarewartung", GK Gill, CF Kemerer) , die hier ebenfalls kostenlos verfügbar ist . Leider ist für Chens Artikel ein IEEE-Abonnement erforderlich, aber Sie können versuchen, es bei Interesse in anderen Quellen nachzuschlagen.
Unter Qualitätsgesichtspunkten lohnt es sich oft, einige Zeit mit dem Refactoring zu verbringen, vorausgesetzt, Sie verfügen über ein Test-Framework, um die Einführung neuer Fehler zu verhindern. Auf diese Weise können Sie neue Funktionen einfacher in Ihr System implementieren, zusätzliche Tests hinzufügen und neue Entwickler für die Arbeit schulen.
Letztendlich besteht jedoch der Druck, neue Funktionen und Mehrwert zu liefern. Sie müssen das Refactoring mit der Implementierung neuer Funktionen und der Reparatur von Fehlern in Einklang bringen.
quelle
Dann hör auf, deine Zeit hier zu verschwenden.
Finden Sie einen Code, dessen Wartung teuer ist. Es ist einfach. Sehen Sie sich die Trouble Tickets Ihrer Organisation an.
Finden Sie einen Code, der billig zu warten ist. Suchen Sie nach Code, der häufig ausgeführt wird, aber nur wenige oder keine Trouble-Tickets enthält.
Messen Sie die Komplexität mit einem der weit verbreiteten Komplexitätswerkzeuge.
Genießen Sie die Beweise.
Sie haben jetzt Nummern angegeben, um das Offensichtliche zu bestätigen.
quelle