3 回答
TA贡献1852条经验 获得超7个赞
不一定坏,只是多余的。同样,实际的变量名也很重要。例如if (userIsAllowedToLogin),我更希望以上if (b),甚至更差if (flag)。
关于性能问题,编译器会以任何方式对其进行优化。
更新:关于权威资料,我在《Sun Coding Conventions》中找不到明确的内容,但是至少Checkstyle有一个SimplifyBooleanExpression模块会对此发出警告。
TA贡献1744条经验 获得超4个赞
您不应该使用第一种样式。我见过人们使用:
if ( b == true )
if ( b == false )
我个人觉得很难阅读,但是可以通过。但是,这种样式的一个大问题是,它导致您显示了令人难以置信的违反直觉的示例:
if ( b != true )
if ( b != false )
读者需要花费更多的精力来确定作者的意图。就我个人而言,我发现包括对true或false的显式比较是多余的,因此很难阅读,但这就是我。
TA贡献1993条经验 获得超5个赞
这完全是一个品味问题。
我个人发现它的可读性比我if (!a) {低(编辑:对我来说),因此在以后维护代码时更容易出错,并且我已经转换为使用后一种形式。if (a == false) {
基本上,我不喜欢为逻辑运算而不是单词(C与Pascal)选择符号,因为对我 a = 10 and not b = 20而言a == 10 && !(b==20),它比容易阅读,但这就是Java中的用法。
任何赞成“ == false”方法的人都赞成“!” 显然,从来没有盯着代码太长时间,也没有错过那个感叹号。是的,您会遇到代码盲的情况。
添加回答
举报