Migliore / migliorato è un confronto multiasse. Pensi di poterlo rendere più veloce, più piccolo, più efficiente nell'impiego delle risorse, più leggibile, informazioni più utili, risultati più precisi, più flessibile, più generale, in grado di funzionare su più sistemi, eliminare una dipendenza da un prodotto separato?
Perché la tua azienda dovrebbe pagare per dedicare del tempo a riscrivere questo codice, invece di scrivere un nuovo codice o riscrivere qualche altro pezzo di codice?
Dovresti apportare miglioramenti man mano che l'opportunità si presenta, ma opportunità significa che stai già lavorando sul codice o hai identificato un motivo commerciale per apportare la modifica.
Spingere una modifica alla produzione introduce una possibilità diversa da zero di rompere le cose (i test unitari e funzionali riducono solo questa possibilità, non la eliminano) e dovrebbero essere fatti solo quando il beneficio atteso supera il rischio.
Qual è un altro punto da considerare: intendi spingere questo cambiamento nella produzione o semplicemente nel ramo di sviluppo? La barra per i due scenari è completamente diversa. Se sta andando solo nel ramo di sviluppo e potrebbe non entrare mai in produzione, allora l'opportunità significa sostanzialmente che stai guardando il codice per qualche motivo, e non richiede tempo. Può essere riesaminato come richiesto se dovesse mai avvenire una spinta e tralasciato se considerato ingiustificato in quel momento. Se d'altra parte, andrà alla produzione ora, come ho detto sopra, è necessario considerare se questa modifica vale il costo: in termini di tempo impiegato per fare la spinta e i vantaggi dell'utilizzo del nuovo codice.