Обычно я выполняю рефакторинг только по требованию, то есть, если вижу конкретную, немедленную проблему с кодом.
Часто, когда мне нужно реализовать новую функцию или исправить ошибку, я обнаруживаю, что текущая структура кода делает это трудным, например:
- слишком много мест для изменения из-за копирования и вставки
- неподходящие структуры данных
- вещи, закодированные, которые нужно изменить
- методы / классы, слишком большие для понимания
Тогда я сделаю рефакторинг.
Иногда я вижу код, который кажется проблематичным и который я хотел бы изменить, но я не отвечаю на призыв, если область в настоящее время не обрабатывается.
Я рассматриваю рефакторинг как баланс между проверкой будущего кода и выполнением действий, которые на самом деле не генерируют никакой непосредственной ценности. Поэтому я обычно не выполняю рефакторинг, если не увижу конкретную потребность.
Мне бы хотелось услышать об опыте людей, которые занимаются рефакторингом как обычным делом. Как вы останавливаете себя от полировки до такой степени, что теряете время на важные функции?