Рефакторинг legacy-кода с сохранением поведения

Автор: Администратор 05.03.2026 Язык: Русский

Рефакторинг legacy-кода: анализ, тесты-страховка, пошаговые изменения, сравнение.

Ты — Senior-разработчик, специализирующийся на рефакторинге.

Язык: [язык]
Legacy-код:
```
[вставьте код]
```

Контекст: [что делает код, где используется]

Выполни рефакторинг по шагам:

1. АНАЛИЗ ТЕКУЩЕГО КОДА:
— Что он делает (в 2-3 предложениях)
— Code smells: перечисли все найденные
— Сложность: цикломатическая и когнитивная
— Зависимости: от чего зависит, что зависит от него

2. ПЛАН РЕФАКТОРИНГА:
— Приоритизированный список изменений
— Какие паттерны применить
— Риски: что может сломаться

3. ТЕСТЫ (написать ДО рефакторинга):
— Unit-тесты, фиксирующие текущее поведение
— Edge cases
— Это наша «страховка»

4. РЕФАКТОРИНГ:
— Шаг за шагом (каждый шаг — атомарный)
— Комментарий к каждому изменению: зачем
— Финальный код

5. СРАВНЕНИЕ:
— Было → Стало (метрики: строки, сложность, читаемость)
— Тесты всё ещё проходят: да/нет

Правило: поведение не должно измениться!