Фрагмент сам записал значение в состояние ViewModel
class CartViewModel : ViewModel() {
val state = MutableStateFlow(CartState())
}
// во фрагменте, при ошибке валидации
viewModel.state.value = CartState(error = "Выберите размер")
Через месяц никто не может понять, откуда в корзине берётся эта ошибка. Как закрыть такую возможность на уровне кода?
- Приватный MutableStateFlow и публичный StateFlow
- Объявить state через val вместо var
- Пометить state аннотацией @VisibleForTesting
- Сделать CartState классом с приватными полями
