Если вы относитесь к рефакторингу как к своей собственной вещи, а не как к части процесса разработки, то он может стать бесконечным.
Если вы будете следовать тестовому подходу разработки red, green, refactor , то вам, как правило, не придется тратить много времени на рефакторинг по двум причинам:
Вы будете проводить рефакторинг на ходу, так что это не должно стать гигантской задачей, просто еще один маленький шаг в цикле TDD.
Внутреннее «давление» для написания следующего теста сохранит ваши усилия по рефакторингу на разумном уровне.
Если вы работаете с устаревшим кодом, следуйте «правилу бойскаута» дяди Боба. Установите время на короткий промежуток времени (скажем, 30 минут) и поставьте себе цель проверить код в более чистом виде, чем это было раньше. Каждый раз, когда вам нужно прикоснуться к коду, вы оставите его немного лучше. Со временем наиболее модифицированный код будет наиболее читаемым и хорошо продуманным в вашей кодовой базе.