背景 コーディング初心者のコードレビューをしていると、しばしば if-else の深いネストが散見されます。SonarQube などのメトリクスツールでも「cyclomatic complexity が高すぎる」と怒られるやつです。 条件分岐を徹底的に減らしていこうとすると Strategy パターンやら State パターンといったデザインパターンの話がよく出てきますが、そこまでいかずとも、ちょっとした心がけでコードが見やすくなるよ、というお話です。初心者向けです。 例 以下は商品が購入可能かどうかを判定するコードです。 public boolean canPurchase() { boolean result; // ログインしているか if (isLoggedIn()) { // 在庫があるか if (existsStock()) { // 代引きの場合 if (isPaymentM