# Рефакторинг
# Описание
Контролируемый процесс улучшения кода, без написания новой функциональности. Обычно выделяют следующие цели:
- Чистый код
- Простой дизайн
- Уменьшение технического долга
# Почему ветка важна?
Рефакторинг – это прежде всего процесс, которым необходимо заниматься постоянно. Это позволяет не накапливать технический долг до такой степени, что часть системы перестаёт быть управляемой, что в свою очередь приводит к необходимости переписывания с нуля. Чистый код позволяет расширять функциональность максимально быстро и качественно.
Рефакторинг приводит к позитивным изменениям как для членов команды, так и для лида. Для члена команды:
- Упрощение последующего расширения системы.
- Простота в понимании подробностей реализации.
Для лида:
- Снижение временных рисков при последующем расширении соответствующей части системы.
- Снижение негатива членов команды при работе с кодом.
# Что будет, если её не делать?
Рефакторинг – один из основных способов уменьшения технического долга. Если регулярно не проводить рефакторинг:
- Накопится слишком много технического долга.
- Как следствие, возможна потеря контроля над частью системы.
- Ощущение постоянной работы в легаси.
- Влияет на найм и удержание сотрудников.
# На кого может быть делегирована?
Идеальная ситуация: каждый разработчик проводит рефакторинг по ходу решения текущих задач.
# Примеры поведения
# Примеры плохого поведения
- Рефакторинг рассматривается как проект и проводится раз в большой промежуток времени.
- Рефакторинг затрагивает функциональность системы.
- Подходами к рефакторингу обладают не все члены команды.
- Правку багов относят к рефакторингу и используют те же инструменты.
# Примеры хорошего поведения
- По ходу ежедневной работы каждый разработчик переключается между режимами: разработка/рефакторинг.
- Рефакторинг делается при помощи тестов.