Yo, yo y yo, hemos sido productores y mantenedores de código heredado. Si su herramienta está generando "miles de violaciones" (o incluso cientos para el caso), olvide la herramienta, no es aplicable a la situación ...
Supongo que los desarrolladores originales se han ido y no están disponibles para discusión. Así que no hay nadie que comprenda los por qué y los por qué del diseño y el estilo de codificación. Corregir cientos o miles de violaciones no será cuestión de reescribir algunas líneas de código aquí y allá. En cambio, indudablemente requiere refactorización / descomposición funcional. Intenta hacerlo en cualquier base de código existente grande, sin comprender íntimamente su diseño actual, y está obligado a introducir un conjunto completamente nuevo de errores / problemas / etc. Solo una nueva lata de gusanos aún peor que la que tienes ahora (o peor que tu herramienta >> piensa << que tienes ahora).
El único enfoque sensato para abordar "miles de violaciones" sería reescribir desde cero. Un esfuerzo largo y costoso, y casi imposible de vender a la gerencia. Y en este caso probablemente tengan razón ...
El código heredado generalmente solo requiere ajustes. Como para y2k, o cuando las acciones pasaron de 256 a decimales. Hice un montón de ambos que cr * p. Y muchas otras cosas similares. Por lo general, es bastante "preciso" en el sentido de que puede "leer" el estilo a veces malo, la descomposición funcional mala, mala, etc., y localizar la colección de lugares que deben modificarse. Y luego, lo que sucede "entre esos lugares", es decir, cuál es el flujo de más alto nivel, puede seguir siendo un misterio para usted. Solo asegúrese de comprender la funcionalidad localizada que está cambiando, y luego pruebe, pruebe, pruebe cualquier efecto secundario, etc., su conocimiento localizado no podrá anticipar.
Si no puede ver el código de esa manera, es posible que no sea la mejor persona para mantener el código heredado. Algunas personas pueden comenzar con una pantalla en blanco y escribir programas hermosos, pero no pueden comenzar con una gran base de código del código de otras personas y mantenerlo. Otras personas pueden mantener el código, pero no pueden comenzar desde cero. Algunos pueden hacer ambas cosas. Asegúrese de que las personas adecuadas mantengan su código heredado.
En ocasiones, es posible que desee rediseñar y reescribir su base de código heredada desde cero cuando los requisitos comerciales (u otros) cambian a tal punto que los "ajustes" del asiento del pantalón simplemente ya no pueden adaptarse a los requisitos modificados. . Y en ese punto, también podría comenzar escribiendo un nuevo documento de requisitos funcionales en primer lugar, asegurándose de que todos los interesados estén a bordo. Básicamente es un juego de pelota completamente nuevo.
Lo único >> incorrecto >> que hacer es tratar el mantenimiento del código heredado de la misma manera que lo haría con un nuevo desarrollo. Y esa cosa equivocada parece ser exactamente el camino que le gustaría seguir :) Tome mi palabra, eso no es lo que quiere hacer.