Выбор ответа Junior Модульность спрашивают часто обновлено

Зачем делить приложение на модули

Вопрос

Какая главная практическая выгода от модуляризации большого мобильного приложения?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Инкрементальная сборка быстрее, границы между фичами явные, команды меньше мешают друг другу. Если изменён один модуль, пересобирается он и зависящие от него, а не весь проект.

Варианты ответа

  1. Приложение становится меньше по размеру: неиспользуемые модули не попадают в бинарник
  2. Инкрементальная сборка быстрее, границы между фичами явные, команды меньше мешают друг другуправильный ответ
  3. Пропадает необходимость в интеграционных тестах: каждый модуль проверяется по отдельности
  4. Приложение быстрее запускается у пользователя: модули загружаются лениво по мере открытия экранов

Разбор

Если изменён один модуль, пересобирается он и зависящие от него, а не весь проект. Модуль с публичным API не даёт случайно залезть во внутренности соседей, а команды владеют своими модулями. Размер и скорость запуска от модульности напрямую не зависят: много динамических фреймворков на iOS даже замедляет запуск. Тесты по-прежнему нужны, просто их проще запускать по модулям.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.