Alptraum Legacy Code – Wie Profis damit umgehen
-
[url=/alptraum-legacy-code-wie-profis-damit-umgehen-a-800689/][b]Alptraum Legacy Code – Wie Profis damit umgehen[/b][/url] Legacy Code bringt oft gewaltige Probleme bei der Entwicklung neuer Features mit: Variablen tragen nichtssagende Namen, Methoden sind zu überkomplexen Konstrukten mutiert und automatisierte Tests sind meist wenig bis gar nicht vorhanden. Wie geht man damit um? [url=/alptraum-legacy-code-wie-profis-damit-umgehen-a-800689/]zum Artikel[/url]
-
[url=/alptraum-legacy-code-wie-profis-damit-umgehen-a-800689/][b]Alptraum Legacy Code – Wie Profis damit umgehen[/b][/url] Legacy Code bringt oft gewaltige Probleme bei der Entwicklung neuer Features mit: Variablen tragen nichtssagende Namen, Methoden sind zu überkomplexen Konstrukten mutiert und automatisierte Tests sind meist wenig bis gar nicht vorhanden. Wie geht man damit um? [url=/alptraum-legacy-code-wie-profis-damit-umgehen-a-800689/]zum Artikel[/url]
-
Hi.
Kann ich so aus der Praxis 1:1 bestätigen.
-
Ich stimme sofort zu, dass die Einführung von ausführlichen Tests der erste notwendige Schritt in der Modernisierung von Legacy Software ist.
Legacy Code gibt es allerdings nicht nur in den klassischen alten Programmiersprachen. Er entsteht klassischerweise dort, wo laufende Änderungen für die Unterstützung der Geschäftsprozesse Vorrang vor der Wartung haben. Diese Funktionsmonolithen sind nicht einfach abzulösen bzw. auf echte Clean Code Projekte umzustellen.
Ein erster Schritt sollte jedoch die Einführung von umfangreichen wiederholbarenTests und die Umstellung auf performantere und wartbarere Methoden sein.
Da Legacy Refactoring auch jede Menge repititiver Arbeit nach sich zieht, sollte dieser Umstellungsschritt automatisiert durchgeführt werden. Manuelle Umstellung benötigt unnötig viele frustrierende gleiche Tätigkeiten, die automatisiert in kürzester Zeit durchgeführt werden können.
-
Sorry, aber das ist eine rein theoretische Auseinandersetzung, die zeigt, dass der Verfasser noch niemals in einem Entwicklungsteam eines Konzerns an einem Grossprojekt gearbeitet hat, dass sich nicht nur mit immens umfrangreichem Legacy Code herumschlagen muss, sondern auch mit inkompetenten Projektmanagern, trägen Entscheidungsprozessen und weiteren massiven Blockern zu tun hat. Nur den Code zu bearbeiten ist nämlich das geringeste, wenn auch kein kleines, Problem.
-
Danke für den guten Artikel. Die letzte Anmerkung Sorry, aber das ist eine rein theoretische Auseinandersetzung, ... kann ich überhaupt nicht nachvollziehen. Der Artikel zeigt sehr klar an, dass alles weg, neu schreiben letztendlich wieder zu Legacy code führt. Es wiederholt sich immer wieder - ich kann es besser - und dann doch nicht. Das konsequente Refactoring erhält die guten Bestandteile. Letztlich ist daa Neuschreiben aber auf der Basis der Kenntnis der alten Codes auch ein Refactoring. Hinweis: Dabei darf nicht krampfhaft an allen früher wichtigen Features festgehalten werden, diese müssen bewertet werden aus neuer Sicht der Requirements, aber mit Überblick.
Die Manager, die diese Arbeit aus Kurzzeitsicht nicht bezahlen wollen, sollten sich mit diesen Thematiken einmal wirklich auseinandersetzen, wozu auch dieser Artikel dient.