Migliore / migliorato è un confronto multiasse. Pensi di riuscire a renderlo più veloce, più piccolo, più efficiente in termini di 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 pagarti per perdere tempo a riscrivere questo codice, invece di scrivere un nuovo codice o riscrivere un altro pezzo di codice?
Dovresti apportare miglioramenti man mano che le opportunità si presentano, ma l'opportunità significa che stai già lavorando al codice o hai identificato un motivo commerciale per apportare la modifica.
Spingere una modifica alla produzione introduce una possibilità non nulla di rompere le cose (i test unitari e funzionali riducono solo questa possibilità, non la eliminano), e dovrebbero essere fatti solo quando i benefici attesi superano il rischio.
Quale altro punto da considerare: intendi spingere questa modifica alla produzione o semplicemente al ramo di sviluppo? La barra per i due scenari è completamente diversa. Se sta solo entrando nel ramo di sviluppo e potrebbe non entrare mai in produzione, allora l'opportunità significa in sostanza che stai guardando il codice per qualche motivo, e non richiede molto tempo. Può essere rivisto come richiesto se una spinta dovesse mai accadere, e lasciata fuori se è considerata ingiustificata a quel tempo. Se, d'altro canto, sta andando alla produzione ora, come ho detto sopra, è necessario considerare se questo cambiamento vale il costo: in termini di tempo speso per fare la spinta, e i benefici dell'uso del nuovo codice.