Как правильно применять fatalError и precondition в реальном iOS проекте?
Что хотят услышать интервьюеры:
Практический подход: используйте fatalError и precondition там, где оно решает конкретную задачу, а не ради моды или краткости.
- Определите слой: UI, domain, data, infrastructure или tooling.
- Проверьте lifecycle: создание, повторное появление, отмена, deinit и background/foreground.
- Добавьте обработку ошибок, edge cases и возможность тестирования.
Ответ:
Нюанс: используются для невозможных состояний, но не для обычной user-facing ошибки.Хороший ответ: кандидат объясняет trade-off и последствия для поддержки приложения.
guard condition else { preconditionFailure("Invalid state") }