【发布时间】:2011-04-06 22:51:34
【问题描述】:
Checkstyle 抱怨以下问题:
return (null == a ? a : new A());
并说括号是不必要的。
虽然没有它们,该声明当然可以正常工作,但如果有它们,它似乎更具可读性——否则,当我阅读它时,我倾向于看到:
return null
先停下来考虑剩下的
== a ? a : new A();
部分,因为我的大脑已经走上了一条路。
此外,我倾向于做同样的事情每当我看到一个三元运算符,除非它被分组在括号中。
那么:三元组周围的括号是否应该成为事实上的标准?有什么理由不把它们放在那里吗?
【问题讨论】:
-
对我来说,使用括号也更具可读性。我有一个像 var thing = something.prop1.method2().... 这样的例子? x:是的。阅读它,我首先期待 something.prop1.method2 将是初始化我的 var 的东西。如果有括号...我会怀疑正在使用三元运算符。
标签: java ternary-operator