Якщо ви ставитесь до рефакторингу як до своєї речі, а не до частини процесу розвитку, то вона може стати ніколи не закінченою.
Якщо ви дотримуєтеся тестового підходу до розробки червоного, зеленого, рефактора , то, як правило, вам не доведеться витрачати багато часу на рефакторинг з двох причин:
Ви будете рефакторинг, як підете, тому це не повинно стати завданням мамонта, лише черговим невеликим кроком циклу TDD.
Внутрішній "тиск" для наступного написання тесту дозволить підтримувати ваші зусилля по рефакторингу на чудовому рівні.
Якщо ви працюєте зі застарілим кодом, то дотримуйтесь "дядька Боба". Поставте час на короткий проміжок часу (скажімо, 30 хвилин) і поставте собі за мету перевірити код у більш чистому стані, ніж це було раніше. Кожен раз, коли вам доведеться торкнутися коду, ви залишатимете його трохи краще. З часом найбільш модифікований код стане найбільш читабельним і добре врахований у вашій базі коду.