Вопрос проверяет понимание подходов к созданию UI и аргументацию выбора кодовой верстки в реальных проектах.
Верстка кодом лучше контролируется и легче поддерживается. Она хорошо работает с git и не вызывает сложных конфликтов. UI становится более предсказуемым и переиспользуемым. Проще выносить общие компоненты и настраивать их. Это особенно важно в больших проектах.
Верстка кодом стала стандартом во многих командах не из-за моды, а из-за практических преимуществ.
При кодовой верстке UI:
описывается явно
контролируется разработчиком
легко читается и изменяется
Отсутствие проблем с merge
Код хорошо мержится и читается в diff.
Конфликты решаются привычными инструментами.
Явная структура UI
Видно, какие элементы создаются и как они связаны.
Нет скрытых зависимостей.
Переиспользование компонентов
UI легко разбивается на отдельные классы и модули.
Это упрощает поддержку и масштабирование.
Гибкость конфигурации
Проще настраивать UI в зависимости от состояния.
Условная логика читается лучше, чем в Interface Builder.
Удобство рефакторинга
IDE помогает с поиском, переименованием и навигацией.
Это почти невозможно для XIB и Storyboard.
Верстка кодом особенно удобна в средних и больших проектах, где важны контроль, переиспользование и стабильная командная работа.