Se trattate il refactoring come una sua cosa, piuttosto che come parte del processo di sviluppo, allora può diventare senza fine.
Se segui lo l'approccio di sviluppo guidato dal test di red, green, refactoring , in genere non lo farai Devo dedicare molto tempo al refactoring per due motivi:
-
Rifiuterà man mano che procedi, quindi non dovrebbe diventare un compito gigantesco, solo un altro piccolo passo nel ciclo TDD.
-
La "pressione" interna per ottenere il prossimo test scritto manterrà i tuoi sforzi di refactoring a un livello ragionevole.
Se stai lavorando con codice legacy, segui la "Boy scout rule" di Uncle Bob. Timebox te stesso per un breve periodo di tempo (ad esempio, 30 minuti) e fai il tuo obiettivo di controllare il codice in uno stato più pulito di quanto non fosse prima. Ogni volta che devi toccare il codice, lo lascerai leggermente meglio. Nel tempo, il codice più modificato sarà il più leggibile e ben calcolato nella base di codice.