Luk*_*uke 2 if-statement coding-style
这是一个微不足道的问题,但我一直在想.
在风格方面(我假设性能相同),在if语句中保留'else'是不是更好?
例如,以下哪项更好:
if (x < 10)
doSomething();
else if (x > 20)
doSomethingElse();
Run Code Online (Sandbox Code Playgroud)
要么
if (x < 10)
doSomething();
if (x > 20)
doSomethingElse();
Run Code Online (Sandbox Code Playgroud)
另一个案例:
if (x < 10)
return;
else doSomething();
Run Code Online (Sandbox Code Playgroud)
要么
if (x < 10)
return;
doSomething();
Run Code Online (Sandbox Code Playgroud)
谢谢,
卢克
在第一个例子中,肯定保持else
in - 如果第一部分为真,它会阻止额外的评估.
(即如果你这样做:
if (x < 10)
doSomething();
if (x > 20)
doSomethingElse();
Run Code Online (Sandbox Code Playgroud)
两个ifs 总是被评估.
但是,如果你这样做:
if (x < 10)
doSomething();
else if (x > 20)
doSomethingElse();
Run Code Online (Sandbox Code Playgroud)
第二部分仅在第一部分为假时进行评估.[如果x <10,你甚至不想检查x> 20,这是浪费评估...])
第二个是个人设计决定; 选择哪个更吸引您,更符合特定逻辑,或遵循您公司的标准(如果有的话).
将它们留在可以提高代码清晰度的地方.在第一个示例中,保留其他内容,因为它略有不同,从而节省了评估.第二种情况不那么明确; 通常我会在返回后使用elses进行备用情况,但在返回错误处理时会忽略else.