构造"If"语句的更好方法

rkg*_*rkg 0 if-statement code-readability

以下哪一项是更好地构建嵌套的方法If.

if (x && y)
   doXY();
else if (x)
   doX();
else if (y)
   doY();
Run Code Online (Sandbox Code Playgroud)

(要么)

if(x)
   if(y)
     doXY();
   else
     doX();       
else if(Y)
   doY();
Run Code Online (Sandbox Code Playgroud)

kyn*_*igs 5

第一个有较少的嵌套,所以id说.

在第二个中,您正在评估"x"是否为真,然后进入该块并评估"y"是否为真,通常很好的做法是尽可能少地嵌套代码.

if (x && y)
{
   // doXY
}
else if (x)
{
   // doX
}
else
{
   // doY
}
Run Code Online (Sandbox Code Playgroud)

  • 别的应该是//做特别的事情.如果捕获(y),应该有第三个别的 (3认同)