Чем late и late final отличается от nullable поля?

FlutterMiddle: уверенно применяет в рабочем проекте, видит риски и тестируемостьDart CoreТеорияdartdart-coreinitializationlatenull-safetyинициализация

Что хотят услышать интервьюеры:

Отличие от nullable поля: late и late final обычно используют, когда нужна задача из контекста «Инициализация», а nullable поля применяют в другом уровне абстракции или при другой сложности.

Ответ:

Как выбирать:

  • полезно для зависимостей, которые появляются в initState
  • при чтении до записи будет LateInitializationError
  • оцените стоимость поддержки, тестируемость и понятность для команды

Ошибка: выбирать инструмент по привычке, а не по требованиям конкретного flow. Сильный ответ: приведите пример, когда late и late final уместен, и пример, когда лучше выбрать nullable поля.

Источники

Похожие вопросы