Comments 3
Ох, воды много...
Чем же легаси всё же отличается от браунфильда?
Вопрос не так прост.
Пример: Зафиксируйте текущее поведение тестами.
Для легаси тестов нет, понимания нет, археология, восстановление намерений, книга Физерса...
Но что же будет с браунфильдом? Даже если известны намерения и приоритеты, живы доменные эксперты, интеграции документированы и документация актуальна... И ещё 100500 нереалистичных предположений. Всё равно зафиксировать текущее поведение тестами очень трудно. Для каждой внешней системы должен быть эмулятор или должна быть песочница в этой внешней системе.
В общем, усилия велики, положительный эффект ограничен и чистого не легаси зрелого продукта я не видел никогда.
Вопрос: в каком направлении должен эволюционировать продукт? Для сокращения стоимости владения и т.п. Вот этот вывод прочитать бы.
З.Ы. прочитайте и мои статьи про рефакторинг легаси
Точное разделение, у меня был ровно этот случай: миграция 200К строк JS в TS, greenfield по технологии, но brownfield по бизнес-правилам, которые нигде не были записаны. Спасли golden-master тесты на самые страшные модули, снять снапшот поведения до того как подпускать агента, а не полагаться на существующее покрытие, которого почти не было. Агент с одинаковой уверенностью предложит и правильный рефакторинг, и тот, что тихо сломает старый костыль.
В brownfield зависимость от AI-провайдера особенно заметна: контекст системы накапливается годами, а модель и правила доступа могут измениться за день. Эту мысль интересно продолжает разбор про инфраструктурную альтернативу Gonka: ролик о распределённых вычислениях Gonka https://youtu.be/_uwgrHV_li0?r=1083
Greenfield и Brownfield: разработка новых и существующих систем в эпоху AI