[Clean Code] 條件式 Conditional

條件式是程式中常見的描述句,但對於難以一眼看懂的描述邏輯無疑是增加了閱讀的困難。

人腦的暫存記憶區是有限的,當 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 上述的情況都應盡可能的出現提醒訊息。