[程式開發技巧] 清楚明確的多重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"
在撰寫上就跟遊戲關卡一樣
只有通過前一個判斷式之後
才會繼續下一個判斷式
直到所有判斷式都通過為止
留言