好的做法:将值与布尔值进行比较?

时间:2012-09-11 21:33:23

标签: if-statement boolean code-readability

大多数时候,我更喜欢写这个:

if(isWelcome() == true){}
if(isWelcome() == false){}

而不是

if(isWelcome()){}
if(!isWelcome()){}

因为我觉得它更容易阅读(但我确实理解它没有意义)。

我想知道是否就这种做法达成了共识。大多数开发者做什么?我想知道编译器是否正在进行额外的比较,或者它是否理解它是无用的。

2 个答案:

答案 0 :(得分:1)

如果你使用像Resharper这样的工具,你会得到一个提示,即使用isWelcome()== true是多余的。 编译器可以选择优化比较,所以我不会太担心它。

答案 1 :(得分:1)

可读性很重要,添加单词并不总能提高可读性。虽然这个

if(isWelcome() == false){}

可能比此更具可读性

if(!isWelcome()){}

对于不熟悉什么的人!是的,这个

if(isWelcome()){}

实际上比这个

更具可读性
if(isWelcome() == true){}

因为现在你已经引入了没有信息价值的“干扰词”,并添加到你的眼睛需要扫描的区域以了解正在发生的事情。您应该努力寻找能够完全传达程序员意图的最少代码。

要真正回答你的问题,我会说大多数程序员会使用较短的版本。没有经验的程序员倾向于使用“详细”版本。