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.