実務で役立つ「早期リターン(ガード節)」のコードサンプル
早期リターンは「条件を満たさない場合はすぐに処理を終了する」ことで、コードをシンプルに保つテクニックです。ここでは 入力チェック と 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レスポンス」「ファイル処理」などで早期リターンを使うと、コードが読みやすく保守しやすくなります。
