Java | 早期リターン(ガード節)のメリットと注意点

Java Java
スポンサーリンク

実務で役立つ「早期リターン(ガード節)」のコードサンプル

早期リターンは「条件を満たさない場合はすぐに処理を終了する」ことで、コードをシンプルに保つテクニックです。ここでは 入力チェックAPIレスポンス処理 の2つの実務的な例を紹介します。


例1:入力チェック(ユーザー登録フォーム)

public void registerUser(String name, String email) {
    // 入力チェック(ガード節)
    if (name == null || name.isEmpty()) {
        System.out.println("名前を入力してください");
        return;
    }
    if (email == null || !email.contains("@")) {
        System.out.println("メールアドレスが不正です");
        return;
    }

    // 正常系(本来やりたい処理)
    System.out.println("ユーザー登録完了: " + name + " / " + email);
}
Java

👉 不正な入力は即終了。
「正常系」が下にスッキリ書けるので読みやすい。


例2:APIレスポンス処理(Webサービス)

public Response handleRequest(Request req) {
    // 入力チェック
    if (req == null) {
        return new Response(400, "リクエストが空です");
    }
    if (req.getUserId() == null) {
        return new Response(400, "ユーザーIDが必要です");
    }

    // 認証チェック
    if (!AuthService.isAuthorized(req.getUserId())) {
        return new Response(403, "認証エラー");
    }

    // 正常系
    Data data = DataService.getData(req.getUserId());
    return new Response(200, "成功", data);
}
Java

👉 不正リクエストや認証エラーは早期リターンで即レスポンス。
「正常処理」が最後にまとまっていて読みやすい。


例3:ファイル処理(リソース管理)

public void processFile(String path) {
    if (path == null || path.isEmpty()) {
        System.out.println("ファイルパスが指定されていません");
        return;
    }

    File file = new File(path);
    if (!file.exists()) {
        System.out.println("ファイルが存在しません: " + path);
        return;
    }

    // 正常系
    System.out.println("ファイルを処理します: " + path);
    // 実際の処理...
}
Java

👉 ファイルが存在しない場合は即終了。
「存在する場合の処理」だけが残るのでスッキリ。


ポイントまとめ

  • 早期リターンで異常系を先に処理 → 正常系が見やすくなる。
  • 入力チェックやAPIレスポンスで大活躍 → 不正なデータは即終了。
  • リソース管理でも有効 → 無駄な処理を避けられる。

✅ 実務では「入力チェック」「APIレスポンス」「ファイル処理」などで早期リターンを使うと、コードが読みやすく保守しやすくなります。

Java
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました