编码风格 – 如何为“if”语句缩进长条件?

我的问题涉及 this previous question,但是所提供的解决方案并没有解决我在下面概述的问题.谷歌搜索后,我没有找到任何代码风格的指导方针,解决在这样的if语句中的长条件的具体问题.

if( isNull(value1) ||
    isToLong(value1) ||
    hasBadFormat(valule1)){
    doSomething();
}else{
    doSomethingElse();
}

要么:

if( isNull(value1) || isToLong(value1) || hasBadFormat(valule1) ){
    doSomething();
}else{
    doSomethingElse();
}

我使用这两种风格的问题是,我的眼睛很难找到真正的块中的代码并将其与条件相分离,或者在长期条件之后眼睛确定正确的下一行太难了一行,特别是if语句已经缩进了函数或其他if语句中的几个选项卡.

最好做这样的事情:

if(     isNull(value1) ||
        isToLong(value1) ||
        hasBadFormat(valule1)){
    doSomething();
}else{
    doSomethingElse();
}

或者这种风格会更好地以下列方式缩小每个新条件:

if( isNull(value1) ||
        isToLong(value1) ||
            hasBadFormat(valule1)){
    doSomething();
}else{
    doSomethingElse();
}

if( isNull(value1) 
        || isToLong(value1) 
            || hasBadFormat(valule1) ){
    doSomething();
}else{
    doSomethingElse();
}

有人有编码风格的指导方针(可能是公司编码风格政策),以与我所提出的不同或更好的方式解决这个问题?哪一个是最好的,你可以找到我提到的解决方案的任何缺点或优点?

这样的东西怎么样?

bool isValid = isNull(value1) || isToLong(value1) || hasBadFormat(valule1);
if( isValid )
{
   doSomething();
}
else
{
   doSomethingElse();
}

条件被移动到另一行,这可能会更容易阅读.

相关文章
相关标签/搜索