intermediate

Refactoring

Улучшайте structure без изменения behavior через small verified steps, characterization tests и reversible commits.

Рефакторинг меняет структуру без изменения внешнего поведения — мелкие шаги, зелёные тесты, обратимые commits. Characterization tests, когда legacy без покрытия. Типичные ходы: extract function, rename, move module, упростить conditional, magic → named constants.

Не смешивайте фичи и structural cleanup в одном непрозрачном PR.

На интервью: безопасная последовательность refactor для untested legacy.

Типовые ошибки: big-bang rewrite; refactor без automated checks; «cleanup» тихо чинит баги.

Компромисс — инкрементальная безопасность против соблазна dramatic rewrite.

Чеклист:

  • Один шаг refactor за раз.
  • Тесты или characterization до moves.
  • Refactor PR отдельно от feature PR.