條件式是程式中常見的描述句,但對於難以一眼看懂的描述邏輯無疑是增加了閱讀的困難。
人腦的暫存記憶區是有限的,當 Function 中的判斷式越「巢」,對於閱讀就更具負擔。排版上也不好看,這是應當避免的情況。此篇列出一些不佳的情況,以及提供一些避免的手段以供參考。
避免奇怪難以理解的條件式:
應把這樣難以理解的敘述利用 bool Function 取代。
避免使用否定的判斷式:
- x
- o
循環複雜度 (Cyclomatic complexity) 應維持在多少以下?
複雜度為 3 的例子:
應保持在 10 以下為佳,最多不宜超過 15。
巢爆了的例子:
以下分享一些技巧減少巢狀條件式的技巧:
- Use Ternary Operator
特別注意,禁用連續計:
- Simplify true/false
- Combine
- Early Exit
- Combine & Early Exit
- Swap Order
- 一行就別括號了
一個好的 IDE 上述的情況都應盡可能的出現提醒訊息。