这是一个微不足道的问题,但我一直在想。在不需要的情况下应该保留还是放弃?
在风格方面(我假设性能是相同的),在if语句中保留一个'else'是否更好?
例如,以下中的哪一个更好:
if (x < 10)
doSomething();
else if (x > 20)
doSomethingElse();
或
if (x < 10)
doSomething();
if (x > 20)
doSomethingElse();
另一种情况:
if (x < 10)
return;
else doSomething();
或
if (x < 10)
return;
doSomething();
个
谢谢,
卢克
同意,但我建议在第二种情况下删除'else',因为它没有效果。还有一个事实是,如果包含它,那么就意味着它是需要的。它当然不会混淆每个人,但它可能会混淆某人。 – William 2010-08-20 18:49:27
我认为这不仅仅是“个人”设计决定。在这个例子中'x> 20'可能不是非常昂贵,但有时候'if'表达式可能是昂贵的。在那种情况下,为什么浪费时间评估两个这样的表达式时,你可能只需要评估第一个表达式呢?这就是为什么''''和'&&'是“短路”操作符的原因:只要知道了全部结果,它们就会停止并返回。 – 2010-08-20 18:53:41
@Daniel Earwicker - 我只是说这是第二个例子(带回归)的个人设计决策,没有额外的评估,两种方法的流程都是相同的。 – froadie 2010-08-20 18:57:04