早期リターンをしない理由

先週Scala書き始めたCTOと何で早期リターンしないの?って話をしたからメモ書き。もっといい感じに説明出来ると良いんだけど。何か良い参考文献あれば教えてください。

  • 関数の出口が1つである方がコードを追いやすい。
    • このメソッドから予期せぬ値が返ってきたって分かった時にコードの最後から追えた方がシンプルじゃない?
  • 早期リターンをする理由の一つであるネストが深くなる問題は、スコープの限定によるモジュール化のしやすさでカバー出来る。
  • if式に早期リターンと似たような効用がある?

コードのネストを深くするな | anopara

MISRA-Cにおける「関数の末尾以外の return 禁止」の真意 - 新・日々録 by TRASH BOX@Eel