you jump • 左: early returnがあることで、関数の概要を理解しやすい • early returnしていない側でスマートキャストが効かない • 新しいclassがFooApiResultに追加されたときに気づけない Either のような型で early return を使うか、網羅性を保証するか
and every function in its place 左: サポート関数に処理を切り出す サポート関数⾃体ごとで独⽴ Þ 補助的な関数が参照するスコープ が限定される 右: ローカル関数に処理を切り出す 1つの関数として閉じている Þ 補助的な関数を参照するスコープ が限定される ローカル関数を使うべきかどうか
and every function in its place 左: サポート関数に処理を切り出す サポート関数⾃体ごとで独⽴ Þ 補助的な関数が参照するスコープ が限定される 右: ローカル関数に処理を切り出す 1つの関数として閉じている Þ 補助的な関数を参照するスコープ が限定される ローカル関数を使うべきかどうか