Когда проводить рефакторинг?

Никогда, если:

  • Код не будет меняться. Например, в одноразовых обработках или устаревшем механизме
  • Изменение ничего нового не дадут. Рефакторинг ради рефакторинга бесполезен. Важно, чтобы появлялось новое качество. Например, масштабирование станет проще или снизится сложность будущего изменения

Позже, если:

  • Предстоит много работы без мгновенного эффекта. Например, если даже все поменять сложность останется высокой
  • Рефакторинг окупится не сразу. Например, изменения в этом месте происходят редко и стоимость понимания кода не высока
  • Его можно делать постепенно и небольшими частями

Сразу после, если:

  • Ожидание следующего удобного случая обойдется дороже. Например, одно и то же изменение нужно внести в несколько мест. Откладывание увеличит риск ошибок и стоимость следующих правок
  • Без этого вы не чувствуете, что работа завершена

До, если:

  • Рефакторинг даст быстрый результат. Например, код станет понятнее или его будет проще менять
  • Вы точно понимаете, что и как нужно сделать.