ガード節とアーリーリターン

目次

春の陽気に心躍り、
新緑が色濃く映える今日この頃。

皆様いかがお過ごしでしょうか。

GW中にプログラマの必読書と言われる
リーダブルコードを読みました。

なかなか意識していなかったことばかり書いてあるもんで
大変ためになりました。(少しずつ実務にも活かしていきたい)

そのなかでガード節というものにより
とてもスマートに処理がまとまっていて
できる男のコードはこうでなくっちゃなと感じたので
今回はそのガード節に焦点を当ててみたいと思います。

ガード節、アーリーリターンとは

if文やfor文など関数の中で処理の対象外とする条件をガード節。
if文の条件に引っかかったものを即座にreturnやcontinueなどで処理を飛ばす方法をアーリーリターンと言います。

用法

変数foo,bar,bazに値が入っているとき
TRUEを返すプログラムがあるとします

気が滅入るくらい見にくくなっていますね

このコードにガード節、アーリーリターンを使ってわかりやすく処理を書くと

こうなります。
関数内のネストも浅くなり
かなり整頓されて可読性の高いコードになりましたね!

関数で複数のreturn文を使ってはいけないと思っている人がいる。アホくさ。関数から早く返すのはいいことだ。

とリーダブルコードにも書いてあります。

反面、ガード節がまとまりなく関数内に散乱していると
却って可読性を下げてしまうことにつながります。

容量用法を守って正しくお使いください。

ネストは浅く、志は高く。

ありがとうございました。