怎样减轻程序中 if 语句的依赖

新手编写代码, 没考虑太多, 主要是 if 语句嵌套很多,如何可以让代码看起来清晰一点。

刚开始写代码的时候经常是这样的。

if (condition_1)
{
    if (condition_2)
    {
        if (condition_3)
        {
            if (condition_4)
            {
                // do something
            }
        }
    }
}

那么可能应该写成这样

if (condition_1 && condition_2)
{
    if (condition_3 && condition_4)
    {
        // do something
    }
}

当然可能不是每一个条件都可以像上面那样子,但是往往可以写成下面那样

if (!condition_1)
    return;

if (!condition_2)
    return;

if (!condition_3)
    return;

if (!condition_4)
    return;

//do something

有时候还可以这样写

do
{
    if (!condition_1)
        break;

    if (!condition_2)
        break;

    if (!condition_3)
        break;

    if (!condition_4)
        break;

    // do something
    return;
}while(0);

// do some clean up
return;

文章部分内容来自:https://www.zhihu.com/question/20161410