条件:否定或等同于假?

时间:2014-01-13 12:06:22

标签: coding-style

在过去一年左右的时间里,我已经习惯于在条件陈述和逻辑分配中使用等同于假而不是否定。

例如,我会使用:

- if(item.IsEnabled == false)
- return x == false;

而不是

- if(!item.IsEnabled)
- return !x;

这样做的原因是我发现在视觉上更容易看到否定,更容易引入意外的逻辑错误。我认为只有'是'而不是'是'和'不',阅读代码应该更容易(可读性)。

例如:

  

如果 this.Enabled为false 且this.Visible

而不是

  

如果不是this.Enabled 和this.Visible

虽然我认为这对我来说是最好的,但我可以说服它确实如此。当然,这在我的私人项目中并不重要;最适合我的是优先考虑。然而,在FOSS项目或职业工作中,我显然想要使用实际上最好的并且能够捍卫我在这个主题上的立场。因此,我想问一下:一般来说,解决这个问题的最佳方式是什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

它们完全等效,所以没有优化问题或类似的东西。

唯一的决定因素是可读性和个人偏好。

至于......

  

我显然想要使用实际上最好的东西并且能够捍卫我在这个主题上的立场

...听起来像你能够很好地捍卫自己的位置。只需阅读您在问题中写的内容:)