Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
надо по возможности заглядывать в будущее и предсказывать возможные изменения требований в разумных пределах. А чтобы это делать — надо просто быть умным.
Отряд булевых флажков
Одно состояние
data class User(
val username: String?
val hasUsername: Boolean
)Уменьшение области видимости
Это тот случай, когда разработчик втыкает любимые паттерны проектироавния с пользой и без пользы. Разлепить состояние письма и состояние уведомления не позволила религия, поэтому будем есть кактус.
предлагать заполнить поле не нужно, независимо от того, есть там значение или нет
Костыль же.
Актуально в случае, когда `username` и `hasUsername` не коррелируют друг с другом. Если значения самодостаточны, несомненно стоит использовать что-то из «Отряда булевых флажков».
Не совсем понял Вашу идею. Могу ли попросить описать более подробно?
validate(type:ValidateType, str:CharSequence):ValidationResult
Стоп рефакторинг. Kotlin. Android