🐘 Как не утонуть в легаси

В работе часто сталкиваюсь с разным кодом. В основном - с легаси. Проектам по 5 - 10 лет, код живёт своей жизнью, структура разная, договорённости терялись вместе с уволившимися разработчиками.


Задача: обновлять код и постепенно приводить его к единой структуре, принятой в компании.

Нельзя просто взять и переписать всё. У нас есть задачи, дедлайны, работающий прод. Рефакторинг ради рефакторинга - недопустимо, бизнес не поймёт.


🎯 Мой подход: делаем только базу.

Создаю минимальный каркас, который не ломает существующую логику, но задаёт направление.

Сделай следующие 2 шаги и твой код станет чище.


Шаг 1. Базовые папки:

Создай базовые папки. Даже если они пустые - это сигнал. Новый код будет ложиться туда, а не в легаси.

src/
├── Application/
├── Domain/
└── Infrastructure/
  • Application: Сценарии, которые связывают домен и инфраструктуру.
  • Domain: Сущности, которые отражают реальный бизнес.
  • Infrastructure: БД, HTTP-клиенты, кэш, логи - всё, что можно заменить, не трогая бизнес-логику.

Шаг 2. Выделяй сущности:

Выделяй сущности постепенно. Не пытайся охватить всё сразу.

Начни с одной - той, которая чаще всего меняется и конечно, с той, которая затрагивается в решаемой задаче.

💡 Соблюдай баланс. Если задача на три дня, а рефакторинг займёт неделю - сделай минимум. Но этот минимум должен быть шагом в правильную сторону.


Не надо идеально! Надо - лучше, чем было. Задать направление, чтобы каждая следующая бизнес задача встраивалась в новую структуру.


🔥 Чистый код - это не цель. Это инструмент, чтобы жить было легче.


💬 Обсудить пост:

🔥 И не забудь подписаться :)