🤔 Рефакторить нельзя переписать
Работа с AI-агентами натолкнула меня на мысль, которую давно хотел сформулировать вслух. Когда перед тобой стоит задача — переход с View на Compose, смена архитектуры, миграция на KMP — первый инстинкт: «давай отрефакторим что есть». И вот тут я всё чаще останавливаюсь и задаю себе вопрос: а стоит ли?
Чтобы нормально рефакторить старый код — его нужно сначала покрыть тестами. Понять все сценарии. Убедиться, что после изменений всё ведёт себя так же. Это огромная работа, которую часто недооценивают, а то и вовсе перекладывают на регресс тестирование.
А что если написать рядом новый код по той же спецификации поведения, без груза старых ограничений. Запустил на двух устройствах, сравнил — и всё. Никаких «а вдруг что-то сломалось».
Агенты, кстати, это подтверждают 🤖 Они заметно лучше справляются с написанием нового кода по спецификации, чем с попыткой переписать существующий. Старый код накладывает ограничения. Новый — их снимает.
Мой подход сейчас такой:
👉 Простая библиотека или изолированный модуль → спокойно мигрируй постепенно
👉 Что-то сложное с бизнес-логикой → пиши рядом, потом подменяй импорты
💬 А вы как поступаете? Когда стоит задача миграции или переработки большого куска — рефакторите или пишете заново? Интересно услышать ваш опыт
#Архитектура #Рефакторинг
Post #9867
7.97K
- 👍 42
- 👎 18
- ❤ 10
- 🤔 2