为什么要使用`return x == 5? true:false;`?

时间:2012-06-08 18:53:06

标签: java boolean

我看不出这种编码习惯的优势。我现在正在使用的项目充满了这些陈述,所以这不是一个错误。

另一个例子:

return getNumberOfBooks() > 5 ? true : false;

另一个:

return isRed() ? true : false;

4 个答案:

答案 0 :(得分:48)

绝对没有理由这样做。

这是多余的,使代码更难阅读。

以下内容更容易阅读:

return ( getNumberOfBooks() > 5 );

return isRed();

答案 1 :(得分:5)

您似乎正在与新手程序员合作开展项目。无论你在哪里开始重构:

return getNumberOfBooks() > 5 ? true : false;
return isRed() ? true : false;

改变它:

return getNumberOfBooks() > 5;
return isRed();

答案 2 :(得分:2)

三元运算符使代码几乎不可读, 认为它是一种聪明的编码方式,但除非真的需要,否则不应该鼓励

答案 3 :(得分:2)

显然这是不必要的冗余。

我建议在Eclipse中这样做:

  1. 找到所有匹配的regexp“return(something)?true:false”并将其替换为something
  2. 和所有匹配regexp“return(something)?false:true”with!(something)
  3. 您可以将此正则表达式委托给编写此项目的人:D