Выбор ответа Senior Архитектура: MVVM, MVI, Clean обновлено
Модули по фичам
Вопрос
Какой главный плюс разбиения проекта на feature-модули (:feature:feed, :feature:profile) с общими :core:*?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Изоляция и скорость сборки: меньше пересборки, параллельные модули, явные границы. Модульность в первую очередь про разработку: Gradle пересобирает только затронутые модули и их зависимых, сборка параллелится, команды меньше мешают друг другу, internal скрывает детали.
Варианты ответа
- Изоляция и скорость сборки: меньше пересборки, параллельные модули, явные границыправильный ответ
- Приложение быстрее запускается у пользователя, потому что модули грузятся лениво по мере нужды
- Меньше размер APK: R8 удаляет код неиспользуемых модулей целиком при сборке
- Можно не писать интеграционные тесты, раз границы модулей проверяет компилятор
Разбор
Модульность в первую очередь про разработку: Gradle пересобирает только затронутые модули и их зависимых, сборка параллелится, команды меньше мешают друг другу, internal скрывает детали. На скорость запуска и размер APK модули напрямую почти не влияют (если не делать dynamic feature). Тесты это не отменяет.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.