Выбор ответа Junior Модульность спрашивают часто обновлено
Зачем делить приложение на модули
Вопрос
Какая главная практическая выгода от модуляризации большого мобильного приложения?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Инкрементальная сборка быстрее, границы между фичами явные, команды меньше мешают друг другу. Если изменён один модуль, пересобирается он и зависящие от него, а не весь проект.
Варианты ответа
- Приложение становится меньше по размеру: неиспользуемые модули не попадают в бинарник
- Инкрементальная сборка быстрее, границы между фичами явные, команды меньше мешают друг другуправильный ответ
- Пропадает необходимость в интеграционных тестах: каждый модуль проверяется по отдельности
- Приложение быстрее запускается у пользователя: модули загружаются лениво по мере открытия экранов
Разбор
Если изменён один модуль, пересобирается он и зависящие от него, а не весь проект. Модуль с публичным API не даёт случайно залезть во внутренности соседей, а команды владеют своими модулями. Размер и скорость запуска от модульности напрямую не зависят: много динамических фреймворков на iOS даже замедляет запуск. Тесты по-прежнему нужны, просто их проще запускать по модулям.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «Модульность»
- Почему сборка не ускорилась после модуляризации
- Что выносят в core-модули
- Циклические зависимости модулей
- Зависимость фичи от фичи
- Инструменты модуляризации на Android
- Инструменты модуляризации на iOS
- Типы модулей мобильного приложения
- api и implementation в Gradle