Рефакторинг каждый день

Мы не должны откладывать ни рефакторинг на подходящее время в будущем, ни выпуск продукта после рефакторинга.

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

Через некоторое время я собрал следующие факты:

  1. Бизнес-команда хотела, чтобы мы получили готовый продукт как можно скорее.
  2. Код был грязным, бесструктурным и нуждался в рефакторинге.

Поразмыслив над этими фактами, я пришел к хорошему результату.

Мы можем удовлетворить бизнес-команду и провести рефакторинг кода вместе.

Но как? Ответ прост.

Вы должны просто оставить любой файл, который вы редактировали, чище, чем он был раньше. При таком подходе вы выпускаете продукт в срок, а через некоторое время у вас есть код, многие части которого переработаны.

Одной пулей вы поражаете две цели.

Мы не должны откладывать рефакторинг на подходящее время в будущем, потому что этот день никогда не наступит. Мы не должны откладывать выпуск продукта после завершения рефакторинга, потому что рефакторинг никогда не заканчивается.