【JS応用|初心者向け】コードが読みやすくなる魔法のテクニック「早期リターン」入門

プログラミングを始めたばかりの頃、if文を何度も重ねてしまい、コードが右側にどんどん寄っていく「ネストの深海」に迷い込んだことはありませんか?今回は、そんな複雑な条件分岐をスッキリと整理できる「早期リターン」という手法について解説します。

早期リターンとは何か?

早期リターンとは、条件を満たさない場合に、その場で処理を終了させて関数から値を返す手法のことです。通常、if文の中に処理を書き込みがちですが、あえて「例外的なケース」を先に処理して関数を終わらせることで、メインの処理を一番外側の浅い階層に保つことができます。

比較してみよう

例えば、ユーザーがログインしているか判定して、プロフィールを表示する関数を作るとします。

悪い例(ネストが深い):
if (isLoggedIn) {
if (hasProfile) {
showProfile();
} else {
showError(‘プロフィールがありません’);
}
} else {
showError(‘ログインしてください’);
}

これだと、どこで何をしているのかを追うのが大変ですよね。ここで早期リターンを使ってみましょう。

良い例(早期リターン):
if (!isLoggedIn) {
return showError(‘ログインしてください’);
}

if (!hasProfile) {
return showError(‘プロフィールがありません’);
}

showProfile();

なぜこの書き方が良いのか

読みやすさが段違いになるというのが最大のメリットです。コードを読む人は、上から順に「何が起きると終了するのか」というガードレールを確認しながら、最後に残った「本来やりたかった処理」にたどり着けます。

また、バグの混入を防げるという利点もあります。ネストが浅いと、どのif文がどこで閉じているかを意識する必要がなくなるため、修正時のミスが劇的に減ります。「関数の出口」が複数あっても、それぞれが単一の役割を果たすため、コードの品質が向上するのです。

明日からできる改善のヒント

まずは、自分の書いたコードを見て「if文の中にif文が入っている場所」を探してみてください。もし2階層以上のネストがあれば、それは早期リターンのチャンスです。

「正常な処理」を最後の方に配置し、それ以外の「例外的な条件」を先頭で弾く。これだけで、あなたの書くコードは驚くほどプロフェッショナルで、メンテナンスしやすいものに変わります。ぜひ、今日のコーディングから試してみてくださいね。

タイトルとURLをコピーしました