Вступить в клуб →
лёгкаявопросMVVM, MVI и многомодульность

Фрагмент сам записал значение в состояние ViewModel

class CartViewModel : ViewModel() {
    val state = MutableStateFlow(CartState())
}

// во фрагменте, при ошибке валидации
viewModel.state.value = CartState(error = "Выберите размер")

Через месяц никто не может понять, откуда в корзине берётся эта ошибка. Как закрыть такую возможность на уровне кода?

  • Приватный MutableStateFlow и публичный StateFlow
  • Объявить state через val вместо var
  • Пометить state аннотацией @VisibleForTesting
  • Сделать CartState классом с приватными полями

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела