🎯 什麼情境該想到我

當你面對「if-else 巢狀好幾層」,得一路縮排讀進去才找得到真正的主要邏輯,而且分不清哪些是特例、哪些是正常流程的時候。

⚙️ 怎麼用(步驟 / 公式)

意圖:對每個「特例/異常狀況」在函式開頭就用一句提早 return(衛述句)把它擋掉,讓後面的程式碼專心表達正常流程。衛述句傳達的訊息是「這種情況不是本函式的重點,處理掉就閃人」,把巢狀結構攤平成一連串平行的檢查。

小步安全進行:

  1. 挑最外層的條件,把它改寫成衛述句:條件成立就直接 return(或丟例外)。
  2. 執行測試。
  3. 由外而內,逐一把其他巢狀條件也改成衛述句,每改一個就測一次。
  4. 全部攤平後,若有多個衛述句回傳相同結果,考慮用合併條件式收斂。

🧪 我實際套用的紀錄

  • (待填)

⚠️ 注意 / 什麼時候不適用

  • 若 if 與 else 兩條路「地位相當、都是正常流程」(不是主線 vs. 特例),就不適合硬改成衛述句——那樣反而扭曲了對等的邏輯。
  • 團隊若堅持「單一出口(single return)」規範,需先取得共識;本手法刻意採用多重 return。

🔗 相關工具