[程式開發技巧] 清楚明確的多重if判斷式 | 多語言版本c#, java, python, js, php

當方法(function, method)內有很多個判斷式時
要如何寫出明確又清楚流暢的判斷式呢?

通常一個方法內有多個條件/判斷式時
初學習慣會寫成如下範例
(以C#為例子)

if (a == 1)
{
    if (b == 2)
    {
        //to do something...
    }
}

在實際專案中
通常會寫成這樣
如以下各語言範例

(C#)

public void Call()
{
    if (a != 1)
    {
        return;
    }
    if (b != 2)
    {
        return;
    }
    //to do something...
}

(Java)

public void call()
{
    if (a != 1)
    {
        return;
    }
    if (b != 2)
    {
        return;
    }
    //to do something....
}

(Python)

def call():
    if a != 1:
        return;
    if b != 2:
        return;
    #to do something...

(JavaScript)

function call()
{
    if (a !== 1)
    {
        return;
    }
    if (b !== 2)
    {
        return;
    }
    //to do something...
}

(PHP)

function call()
{
    if ($a !== 1)
    {
        return;
    }
    if ($b !== 2)
    {
        reutrn;
    }
    //to do something...
}

你可以看到已經把所有判斷式都單獨成一個區塊
而所有條件也都跟原本的相反
"如果?不等於?,就會執行return"

在撰寫上就跟遊戲關卡一樣
只有通過前一個判斷式之後
才會繼續下一個判斷式
直到所有判斷式都通過為止

留言