如果你看一下
if (!x) {
if (x == false) {
看起来像!x更好,但是
if (!isSomething()) {
if (isSomething() == false) {
你可以轻松监督!
怎么办?有推荐吗?
答案 0 :(得分:12)
隐藏的第三个选项是正确命名变量和方法。
而不是
if (!isDisabled()) {
...
}
使用
if (isEnabled()) {
...
}
或者如果你想检查否定:
boolean disabled = !isEnabled();
if (disabled) {
...
}
或添加两种方法:
boolean isDisabled() {
return !isEnabled();
}
编辑:我发现了这个问题:Is it bad to explicitly compare against boolean constants e.g. if (b == false) in Java?
答案 1 :(得分:7)
我会坚持使用符号if (!isSomething()) {
。如果您或其他人发现难以阅读,您可以随时在“!”周围添加一些空格。为了让它脱颖而出:
if ( ! isSomething()) {
或if ( !isSomething()) {
此外,使用以下符号
可能会使多个条件语句变得势不可挡 if (isSomething() == false && isSomethingElse() == false && ..)
,
而其替代方案简短而简洁。过了一会儿,自然会读到'!'以及“not isSomething()而不是isSomethingElse()”的陈述。
答案 2 :(得分:3)
我认为没有任何人会遵循的建议。
按照自己的方式行事,我会选择if (!isSomething())
风格:)
特别是因为我已经选择了if (!x)
风格。
答案 3 :(得分:2)
if ( !isSomething() ) {
在我看来,是最好的。这样你就可以保持字符倒计时,你的代码是可读的,并且!
在开始时确实很突出,所以只需浏览代码,其他人就可以看到它的意图。