在不需要的情况下,是否应该保留或删除?

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)

谢谢,

卢克

fro*_*die 5

在第一个例子中,肯定保持elsein - 如果第一部分为真,它会阻止额外的评估.

(即如果你这样做:

    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,这是浪费评估...])

第二个是个人设计决定; 选择哪个更吸引您,更符合特定逻辑,或遵循您公司的标准(如果有的话).


muh*_*ten 5

将它们留在可以提高代码清晰度的地方.在第一个示例中,保留其他内容,因为它略有不同,从而节省了评估.第二种情况不那么明确; 通常我会在返回后使用elses进行备用情况,但在返回错误处理时会忽略else.