Abbiamo campi "prioritari" e "severi" nel nostro sistema di tracciamento dei bug. Definiamo la gravità come "come influenza l'utente" e la priorità come "come influenza il prodotto".
La mia domanda è su come classificare un'attività di "miglioramento del codice" in ordine di gravità e priorità. Supponiamo che il miglioramento non cambi alcun comportamento ma lo renda un "codice migliore". Prevediamo un miglioramento della manutenzione a lungo termine, ma è difficile da quantificare.
Quando utilizziamo le nostre definizioni per priorità e severità, un miglioramento del codice ottiene i valori più bassi per entrambi, a meno che non introduciate nell'immagine alcuni vantaggi a lungo termine difficili da prevedere. Pertanto implica che il miglioramento del codice è un compito delicato e non dovrebbe mai essere tentato.
Tuttavia, credo che sia cruciale migliorare e riformattare costantemente il codice, perché:
- Lo sviluppo del software è di per sé un processo di apprendimento continuo e senza migliorare il codice non è possibile migliorarlo.
- Una squadra dovrebbe essere orgogliosa del proprio codice.
- La manutenzione futura richiederà meno tempo e nel lungo periodo i risparmi saranno significativi.
O pensi che tali attività non dovrebbero mai essere create e tali miglioramenti eseguiti solo "su richiesta", "se associati a un bug"? Anche se è associato a un bug, non sarebbe un punto di discussione su una revisione del codice, ad esempio "perché hai fatto questo drastico cambiamento nella struttura?".