Я собираюсь реорганизовать определенные части в огромной базе кода (классы 18000+ Java). Цель состоит в том, чтобы иметь возможность извлекать нижние уровни в качестве независимых библиотек для повторного использования в других проектах, которые в настоящее время используют дубликат этой базы кода. Особенно интересна часть, которая должна быть реорганизована в рамки, не зависящие от бизнес-логики. В конечном итоге я хотел бы, чтобы код имел чистое архитектурное наслаивание.
Я просмотрел код с помощью инструмента Structure 101 для java и нашел много (!) проблем архитектурного расслоения, когда нижние слои ссылаются на верхние слои.
Я не хочу просто начинать возиться с кодом, но пытаюсь найти разумную стратегию для решения этой проблемы. Что я должен иметь в виду?
Я думаю о том, чтобы хотя бы сделать небольшие шаги. Я также думаю о модульных тестах, но это требует их создания, поскольку их нет.
Любые мысли об этом?