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