Coding style 更好的写作方式,如果其他条件

Coding style 更好的写作方式,如果其他条件,coding-style,Coding Style,代码是这样运行的,随着代码的增加,它变得不可读 if(!cond1){ //print error }else{ if(!cond2){ // print error }else{ //code goes on..... } } 编写上述代码的另一种方法将非常有用如果使用块来执行真实条件,则更容易理解/调试。这是因为当某件事是真的时,比当某件事不是真的时,情况更为狭窄

代码是这样运行的,随着代码的增加,它变得不可读

if(!cond1){
    //print error
}else{
        if(!cond2){
          // print error
        }else{
               //code goes on.....
             }
     }

编写上述代码的另一种方法将非常有用

如果使用块来执行真实条件,则更容易理解/调试。这是因为当某件事是真的时,比当某件事不是真的时,情况更为狭窄


如果s,则通常使用而不是嵌套或链接的
来处理此问题:

if (! cond1)
    throw error 1;
if (! cond2)
    throw error 2;

perform action;
请注意,这假设函数在出错时实际返回,否则将导致错误行为。但是,建议这样做。一般来说,在遇到错误时不要试图恢复操作,应尽快将控制提升到应用程序逻辑的更高级别

特别是,“打印错误”方面应该几乎总是与实际逻辑断开连接,否则您就违反了


因此,当检测到错误条件时,让逻辑执行功能提前退出,并让其他函数负责打印这些错误。

取决于复杂性,您可以考虑将条件分解为自己的函数,并将其重构为:

if (!f1() && !f2() ... ){
    ...
}

然后让每个条件的函数处理该特定错误,而不是将顶级函数弄乱。

这取决于语言和更大的上下文。“不具建设性”。(我倾向于避免不必要的嵌套
if
语句,尽管..C风格的语言具有挂起的
else if
结构。)如果合适,可以考虑使用开关盒:和
if (!f1() && !f2() ... ){
    ...
}