Post

Conversation

先日受けたコードレビューについて 「IF文は”早期return”で読みやすくなる」と学んだので、こんなコードを書いた ❌ 書いたコード(早期returnを意識) ーーーーーーーーーーーーーーーーーー function todaysActivity(isSunny) { if (isSunny) { console.log("外で遊ぶ!"); return; } console.log("家で遊ぶ!"); } ーーーーーーーーーーーーーーーーーーー このコードについてレビューで指摘されたこと、、 ✅対の関係が見えない → 「晴れ vs 雨」の排他制御であることが伝わりにくい ✅共通処理が書きにくい → 両方のパターンで実行したい処理を2回書く必要がある と指摘されたので以下のように修正 パターン1: 三項演算子 ⭕️ 三項演算子を使って ーーーーーーーーーーーーーーーーー function todaysActivity(isSunny) { const message = isSunny ? "外で遊ぶ!" : "家で遊ぶ!"; console.log(message); // 共通処理 eatSnack(); } ーーーーーーーーーーーーーーーーーー パターン2: if/else ⭕️ if/elseを使って ーーーーーーーーーーーーーーーーー function todaysActivity(isSunny) { if (isSunny) { console.log("外で遊ぶ!"); } else { console.log("家で遊ぶ!"); } // 共通処理 eatSnack(); } ーーーーーーーーーーーーーーーーー 結局パターン1で書いてマージされたけど 確かにこの方が排他制御の意図がわかりやすくて、共通部分を書く必要が後から出てきた時も1回で済むので合理的や