Какие плюсы и минусы разделения приложения на модули

«Какие плюсы и минусы разделения приложения на модули» — вопрос из категории Архитектура, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Плюсы:
✅ Ускорение сборки за счет инкрементальной компиляции только измененных модулей
✅ Четкое разделение ответственности между командами
✅ Возможность повторного использования кода (feature-модули как библиотеки)
✅ Изоляция зависимостей (можно использовать разные версии библиотек в разных модулях)
✅ Упрощение тестирования (модули можно тестировать независимо)

Минусы:
⚠️ Усложнение настройки Gradle (многомодульные конфиги)
⚠️ Возможные циклические зависимости между модулями
⚠️ Затраты на рефакторинг монолита в модули
⚠️ Оверхеад при работе с динамическими фичами (Dynamic Feature Modules)

Пример структуры в settings.gradle:

include ':app', ':core', ':feature:auth', ':feature:profile'