Replace Nested Conditional with Guard Clauses(以卫语句取代嵌套条件表达式)
生活随笔
收集整理的這篇文章主要介紹了
Replace Nested Conditional with Guard Clauses(以卫语句取代嵌套条件表达式)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
函數(shù)中的條件邏輯使人難以看清正常的執(zhí)行路徑
double getPayAmount() {double result;if (isDead) {result = deadAmount();} else {if (isSeparated) {result = separatedAmount();} else {if (isRetired) {result = retiredAmount();} else {result = normalPayAmount()}}}return result; }重構(gòu):使用衛(wèi)語句表現(xiàn)所有特殊情況
double getPayAmount() {double result;if (isDead) {return deadAmount();} if (isSeparated) {return separatedAmount();}if (isRetired) {return retiredAmount();}return normalPayAmount(); }動機
條件表達式通常有兩種表現(xiàn)形式
1、所有分支都屬于正常行為;
2、條件表達式中只有一個是正常行為
這兩類條件表達式有不同的用途,這一點應(yīng)該通過代碼表現(xiàn)出來。
如果兩條分支都是正常行為,應(yīng)該使用if...else...
如果某個條件極其罕見,應(yīng)該單獨檢查該條件,并在其true 時立刻return?!@樣的單獨檢查被稱為“衛(wèi)語句”(guard clauses)
總結(jié)
以上是生活随笔為你收集整理的Replace Nested Conditional with Guard Clauses(以卫语句取代嵌套条件表达式)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微服务架构设计模式~交互方式
- 下一篇: art.dialog弹出框后再根据其内部