当前位置:  开发笔记 > 编程语言 > 正文

你首选的布尔对是什么:1/0是/否是/否?

如何解决《你首选的布尔对是什么:1/0是/否是/否?》经验,为你挑选了5个好方法。

在代码中:true/false.

在UI中:是/否或确定/取消



1> Evgeny..:
enum Bool 
{ 
    True, 
    False, 
    FileNotFound 
};

http://thedailywtf.com/Articles/What_Is_Truth_0x3f_.aspx



2> Ed S...:

在代码中:true/false.

在UI中:是/否或确定/取消


在使用是/否或确定/取消之前,请务必检查您提出的问题."你想取消手术吗?" - 确定/取消

3> Jon Skeet..:

truefalse使得很多更有意义,我在代码-部分是通过熟悉,我敢肯定.我怀疑我会习惯yesno很快.1和0真的不适合我.

考虑表达式

age == 5

这是对真相的测试.价值是age5?对,是真的."是"和"否"对我来说都没问题,但是对于" age5 的价值是什么?" 这个问题的回答这个想法.是"1"对我来说似乎很反直觉.仅仅因为这是真实引擎的典型二进制表示并不意味着它在更高的抽象中是有用的.



4> Chris Cudmor..:

哪个更容易阅读?

while(true) {}
while(yes) {}
while(1) {}

在大多数情况下,我会坚持认真.



5> EnocNRoll - ..:

这是我住的规则......

规则1

在用于与CPU通信的编程语言中使用定义良好的常量,即在大多数现代情况下为布尔值的真/假.如果数据库提供了布尔类型或某些等效类型,当然应该使用它.

规则#2

通过使用他们的首选语言和习语与您的软件用户交互,即,是/否问题应提供是/否(或者可能是否的替代,例如取消).

规则#3

不确定性应以范围表示,即"依赖",后面将跟着"关于什么?"的问题.我知道开发人员通过将他们可能需要的每个依赖项复制并粘贴到项目的每个代码文件中作为"using"语句来回答问题.这只是草率,请麻烦按字母顺序或至少将名称空间组合在一起.

当一个布尔刚刚不够

顺便提一下,C#中可用的一个有趣的转折是Nullable;

你可以写

Nullable RespondToIritatingQuestion()
{
    return new Nullable();

}

要么

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'.");


需要FileNotFound选项.
推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有