作为一个例子:
每个测试都依赖于之前所有计算得出的结果。如果一个测试失败,剩余的计算应该被跳过。
另一种方法是使用一系列嵌套的if()语句:
然而,除了像上面这样高度抽象的示例外,在任何情况下采用后一种方法看起来都会变得非常混乱。我认为前一种方法在处理更长、更复杂的代码时更具可扩展性。是否有任何不选择第一种方法的原因呢?
function()
{
calculation1();
while(1)
{
if (test1() == FAIL) { break; }
calculation2();
if (test2() == FAIL) { break; }
calculation3();
if (test3() == FAIL) { break; }
calculation4();
break;
}
final_calculation();
return;
}
每个测试都依赖于之前所有计算得出的结果。如果一个测试失败,剩余的计算应该被跳过。
另一种方法是使用一系列嵌套的if()语句:
function()
{
calculation1();
if (test1() == SUCCESS)
{
calculation2();
if (test2() == SUCCESS)
{
calculation3();
if (test3() == SUCCESS)
{
calculation4();
}
}
}
final_calculation();
return;
}
然而,除了像上面这样高度抽象的示例外,在任何情况下采用后一种方法看起来都会变得非常混乱。我认为前一种方法在处理更长、更复杂的代码时更具可扩展性。是否有任何不选择第一种方法的原因呢?
return
而不是break
。 - Zan Lynx