Io, me e me, siamo stati entrambi produttori e manutentori del codice legacy. Se il tuo strumento genera "migliaia di violazioni" (o anche centinaia per quella materia), dimentica lo strumento, è inapplicabile alla situazione ...
Presumo che gli sviluppatori originali siano lontani e non disponibili per la discussione. Quindi nessuno è in giro che capisca il perché e il perché dello stile di progettazione e di codifica. Correggere centinaia o migliaia di violazioni non sarà questione di riscrivere poche righe di codice qua e là. Invece, richiede indubbiamente il refactoring / re-functional-decomposition. Provi a farlo a qualsiasi grande base di codice esistente, senza capire a fondo il suo attuale design, e sei tenuto a introdurre un nuovo set di bug / problemi / ecc. Solo un nuovo barattolo di vermi è ancora peggiore di quello che hai ora (o peggio del tuo strumento > > pensa < < ora hai).
L'unico approccio ragionevole per affrontare "migliaia di violazioni" sarebbe quello di riscrivere da zero. Uno sforzo lungo e costoso e quasi impossibile da vendere alla direzione. E in questo caso probabilmente hanno ragione ...
Normalmente il codice richiede solo modifiche. Come per y2k, o quando le scorte sono passate dal 256 ° al decimale. Ho fatto un sacco di entrambi che cr * p. E molte altre cose simili. In genere è piuttosto "puntuale" in quanto è possibile "leggere" lo stile a volte cattivo, la scomposizione funzionale errata, la cattiva ecc. E individuare la raccolta di luoghi che devono essere modificati. E poi, quello che succede "tra quei luoghi", cioè, qual è il flusso più alto di livello, può rimanere un mistero per te. Assicurati solo di aver compreso la funzionalità localizzata che stai modificando, quindi di testare, testare, testare eventuali effetti collaterali, ecc., Le tue conoscenze localizzate non saranno in grado di anticipare.
Se non riesci a vedere la tua strada attraverso un codice del genere, allora potresti non essere la persona migliore per mantenere il codice legacy. Alcune persone possono iniziare con una schermata vuota e scrivere programmi belli, ma non possono iniziare con una grande base di codice del codice di altre persone e mantenerla. Altre persone possono mantenere il codice, ma non possono iniziare da zero. Alcuni possono fare entrambi. Assicurati che le persone giuste mantengano il tuo codice legacy.
Le volte occasionali che potresti voler riprogettare e riscrivere da zero il tuo codice di base legacy è quando i requisiti aziendali (o di altro tipo) cambiano a tal punto che i "ritocchi" dei posti non possono essere modificati requisiti più a lungo. E a quel punto, potresti anche iniziare scrivendo un nuovo documento sui requisiti funzionali, assicurandoti che tutte le parti interessate siano a bordo. È fondamentalmente un gioco completamente nuovo.
Il one-and-only > > wrong < < la cosa da fare è provare a considerare la manutenzione del codice legacy nello stesso modo in cui avresti fatto per il nuovo sviluppo. E quella cosa sbagliata sembra essere esattamente la strada che vorresti andare giù :) Credimi, non è quello che vuoi fare.