Фон
В приложении для командной строки C #, которое я пишу, некоторые параметры имеют в качестве возможных значений «да» и «нет».
Я сохраняю их ввод, используя тип Enum, показанный ниже.
enum YesNo
{
Yes,
No
}
Что нормально - код работает. Нет проблем там.
ПРИМЕЧАНИЕ: Да, я мог бы хранить их как bool (вот как это раньше работало). Мой выбор дизайна должен быть явным в отношении выбора «да / нет», сделанного пользователем, потому что он увидит это напечатанным в других контекстах, и я бы хотел, чтобы это было более очевидно, что был выбор.
Мой вопрос
- Просто странно иметь перечисление с именем "YesNo" - каковы некоторые предложения для лучших имен перечисления для значений "да" и "нет".
Итак, наконец
Я задал этот вопрос относительно рано в жизни StackOverflow. Это не был фальшивый вопрос - у меня действительно была такая ситуация. Я просто подумал, что было бы неплохо использовать его, чтобы посмотреть, что сделает сообщество. Потому что это, я допускаю несколько странный вопрос.
Во-первых, спасибо всем, кто потратил время, отвечая. Я пытаюсь отплатить этим вдумчивым заключением.
Комментарии к ответам
переключение на bool . Я понимаю вашу мотивацию, но я чувствую, что должен указать, что выбор двоичный (и под этим я подразумеваю выбор между любыми двумя значениями - живым / мертвым, женатым / неженатым и т. Д.) Не такой же, как логический выбор между истиной и ложью. Мы находим программистов, переключающихся между да / нет и истиной / ложью легко - достаточно справедливо. Если бы я выбрал в этом случае, например, «Демократ» или «Репликация» »(надуманный пример, я знаю), то вы можете увидеть возможности для путаницы или, по крайней мере, неловкости. Я думаю, что опция bool действительна в этом случае, но меньше так в других бинарных вариантах.
локализация - отличный момент. В моем конкретном случае это не имело значения - это не было и никогда не будет локализовано, но для других ситуаций это то, что нужно учитывать.
более трех вариантов - Фактически позже мне пришлось добавить третье значение, называемое для представления действительного (в моем приложении) условия пользователя, в частности , а не , что делает выбор.
Было много хороших комментариев, спасибо всем!