Software Design - Pattern - Guard Clauses

目的

  • 符合 Fail Fast 的原則,驗證條件並在不滿足條件時立即停止執行。
  • 增加可讀性(更扁平),減少了巢狀判斷。
  • 例子請參考 Guard Clause

Extra - Guard Class

將通用的保護子句封裝在一個專門的類是一種很好的做法,可重用邏輯並編寫更具可讀性的保護子句。

Extra - Value Object

Stop using trivial Guard Clauses! Try this instead

文章作者避免瑣碎 Guard 的方式,是使用 Value Object,來避免域接受到無效參數。這個作法在筆者看來才是真正意義上的 Fail Fast。(YT評論區也建議閱讀,有許多不錯的討論)

但不可否認的 Guard Clause 作法在大多情況下是有益的。

Ref