UI 개발에서, State 명명법은 하기 2가지 방법이 존재.
// BAD
data class LoginState(
val emailText: String = "",
val isProgressBarVisible: Boolean = false, // -> 1번 영향 기반
val isLoginFailed: Boolean = false // -> 2번 동작 기반
)
isProgressBarVisible
isLoginFailed
⇒ 어떤 접근법을 사용하든, 둘 중 하나를 일관되게 사용해야 함.
// GOOD
data class LoginState(
val emailText: String = "",
val isLoggingIn: Boolean = false,
val isLoginFailed: Boolean = false
)
⇒ 각 Composable은 그 자체로 해당 상태에서 어떤 행동을 할 지 결정 가능해짐.