ガード節
リーダブルコードに登場する手法の一つで、return や continue や break できる条件を先に書くこと elseを排除した書き方とも言える
が、sta.iconは条件を分解して一つずつ潰していくのによく使う
例
before
code:py
if complex_condition:
条件満たしたときの処理
return
after
code:py
if complex_conditionを満たさない条件1:
return
if complex_conditionを満たさない条件2:
return
...
条件満たしたときの処理
o
コードの見通しがよくなる
複雑な条件式を頭で頑張って読む苦労が減る
カバレッジ満たしやすい
x
コードの分量が多くなる
特に縦に長くなる
returnの前に共通処理が必要な場合に漏れやすい
code:py
if complex_conditionを満たさない条件1:
procedure()
return
if complex_conditionを満たさない条件2:
procedure()
return
if complex_conditionを満たさない条件3:
# たとえばここで procedure() 呼び出すのの忘れちゃう
return
if complex_conditionを満たさない条件4:
procedure()
return
条件満たしたときの処理
procedure()
条件判定部分を関数化して、満たしたときの処理もその関数側に持っていくことで回避可