21

我看不到这种编码实践的优势。我现在正在处理的项目充满了这些陈述,所以这不是一个错误。

另一个例子:

return getNumberOfBooks() > 5 ? true : false;

还有一个:

return isRed() ? true : false;
4

4 回答 4

49

绝对没有理由这样做。

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

以下内容更容易阅读:

return ( getNumberOfBooks() > 5 );

return isRed();
于 2012-06-08T18:55:35.160 回答
5

看来您正在与新手程序员一起做一个项目。从你看到的地方开始重构:

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

通过以下方式更改:

return getNumberOfBooks() > 5;
return isRed();
于 2012-06-08T19:03:20.103 回答
2

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

于 2012-06-08T18:59:06.467 回答
2

显然这是不必要的冗余。

我建议在 Eclipse 中这样做:

  1. 找到所有匹配正则表达式“return (something) ? true : false”并将其替换为something
  2. 和所有匹配正则表达式 "return (something) ? false : true" with !(something)

您可以将此正则表达式的编写委托给编写此项目的人:D

于 2012-06-08T19:23:59.270 回答