Вот правила, по которым я живу ...
Правило № 1
Используйте четко определенные константы в языках программирования, которые вы используете для связи с ЦП, т. Е. True / false в большинстве современных случаев для логических значений. Если база данных предлагает логический тип или какой-либо подобный эквивалент, конечно, его следует использовать.
Правило № 2
Взаимодействуйте с пользователями вашего программного обеспечения, используя их предпочитаемый язык и идиомы, то есть, да / нет, вопросы должны предлагать Да / Нет (или, возможно, альтернативу Нет, например, Отмена).
Правило № 3
Неопределенность должна быть выражена в терминах охвата, то есть «это зависит», за которым последует вопрос «от чего?». Я знаю разработчиков, которые отвечают на этот вопрос, копируя и вставляя практически все зависимости, которые могут им понадобиться, в каждый файл кода проекта в качестве выражения «использование». Это просто небрежно, и, пожалуйста, потрудитесь алфавитизировать или хотя бы сгруппировать пространства имен вместе.
Когда булла просто недостаточно
Кстати, интересный поворот, доступный в C #, это Nullable;
Вы можете написать
Nullable<bool> RespondToIritatingQuestion()
{
return new Nullable<bool>();
}
OR
bool? RespondToIritatingQuestionWithSytle()
{
return new bool?();
}
и спрашивающий должен будет оценить ваш ответ, даже не зная, каким может быть ответ, если он есть ...
bool? answer = RespondToIritatingQuestionWithStyle();
if (answer.HasValue)
Trace.WriteLine("The bloke responded with " + answer.Value.ToString());
else
Trace.WriteLine("The bloke responded with 'depends'.");