Ich selbst und ich waren sowohl Produzent als auch Erhalter von Legacy-Code. Wenn Ihr Tool "Tausende von Verstößen" (oder sogar Hunderte von Verstößen) verursacht, vergessen Sie das Tool, es ist auf die Situation nicht anwendbar ...
Ich gehe davon aus, dass die ursprünglichen Entwickler schon lange nicht mehr zur Diskussion stehen. Es ist also niemand da, der das Warum und Warum des Design- und Codierungsstils versteht. Das Korrigieren von Hunderten oder Tausenden von Verstößen bedeutet nicht, hier und da ein paar Codezeilen neu zu schreiben. Stattdessen ist zweifellos eine Umgestaltung / funktionale Zersetzung erforderlich. Sie versuchen, dies mit einer großen vorhandenen Codebasis zu tun, ohne deren aktuelles Design genau zu verstehen, und Sie sind verpflichtet, eine ganze Reihe neuer Bugs / Probleme / etc. Einzuführen. Nur eine neue Dose Würmer, die noch schlimmer ist als die, die Sie jetzt haben (oder schlimmer als Ihr Werkzeug, das Sie jetzt >> denken <<).
Der einzig vernünftige Ansatz, um "Tausenden von Verstößen" entgegenzutreten, wäre das Neuschreiben von Grund auf. Ein langer und teurer Aufwand, der kaum an das Management zu verkaufen ist. Und in diesem Fall haben sie wahrscheinlich recht ...
Legacy-Code erfordert in der Regel nur Optimierungen. Zum Beispiel für das Jahr 2000 oder wenn die Aktien von 256 auf Dezimal gestiegen sind. Ich habe jede Menge Cr * P gemacht. Und viele andere ähnliche Sachen. Es ist in der Regel ziemlich "genau", dass Sie den manchmal schlechten Stil, die schlechte funktionale Zerlegung, das schlechte usw. "durchlesen" und die Sammlung von Stellen finden können, die geändert werden müssen. Und dann kann es Ihnen ein Rätsel bleiben, was "zwischen diesen Orten" passiert, dh was ist der Fluss auf höherer Ebene? Stellen Sie einfach sicher, dass Sie die lokalisierte Funktionalität verstehen, die Sie ändern, und testen Sie, testen Sie, testen Sie auf Nebenwirkungen usw., die von Ihrem lokalisierten Wissen nicht vorhergesehen werden können.
Wenn Sie sich so nicht durch Code zurechtfinden, sind Sie möglicherweise nicht die beste Person, um älteren Code zu verwalten. Einige Leute können mit einem leeren Bildschirm beginnen und schöne Programme schreiben, aber nicht mit einer großen Codebasis des Codes anderer Leute beginnen und ihn pflegen. Andere Leute können Code pflegen, aber nicht von vorne anfangen. Manche können beides. Stellen Sie sicher, dass die richtigen Personen Ihren Legacy-Code verwalten.
Es kann vorkommen, dass Sie Ihre alte Codebasis von Grund auf neu entwerfen und umschreiben möchten, wenn sich die geschäftlichen (oder sonstigen) Anforderungen so stark ändern, dass "Tweaks" am Hosenplatz den geänderten Anforderungen einfach nicht mehr gerecht werden . Zu diesem Zeitpunkt können Sie auch gleich ein neues Dokument mit den funktionalen Anforderungen verfassen und sicherstellen, dass alle Beteiligten an Bord sind. Es ist im Grunde ein ganz neues Ballspiel.
Die einzige >> falsche << Sache, die Sie tun müssen, ist, die Pflege von Legacy-Code so zu behandeln, wie Sie es bei der Neuentwicklung tun würden. Und dieses eine falsche Ding scheint genau der Weg zu sein, den Sie einschlagen möchten :) Nehmen Sie mein Wort dafür, das ist nicht das, was Sie tun wollen.