きれいなコードの書き方

その他 📅 2026年5月1日 👤 学習者さん

💬 質問

きれいなコードを書くコツを教えてください。何を意識すればいいですか?

✅ 回答

きれいなコードとは「3ヶ月後の自分が読んでも理解できるコード」です。見た目の美しさではなく、読みやすさが本質。

Before / After で見る

// ❌ 読みにくいコード
function f(a) {
  let r = 0;
  for (let i = 0; i < a.length; i++) {
    if (a[i] >= 80) {
      r++;
    }
  }
  return r;
}

↓ 同じ処理を読みやすく書き直すと:

// ✅ 読みやすいコード(同じ処理)
function countHighScores(scores) {
  const PASS_LINE = 80;
  return scores.filter(score => score >= PASS_LINE).length;
}

関数名が「何をするか」を説明しているので、中身を読まなくても意味がわかります。

3つのルール

① 変数名・関数名に意味を持たせる

x, tmp, data何が入っているかわからない
userName, totalPrice, isLoggedIn名前だけで中身がわかる

② 関数は1つのことだけする

「データを取得して、加工して、表示する」を1つの関数に書かない。取得・加工・表示を別々の関数に分ける。

③ ネストを浅くする(早期リターン)

// ❌ ネストが深い
function processOrder(order) {
  if (order) {
    if (order.items.length > 0) {
      if (order.payment) {
        // ここでやっと本題...
      }
    }
  }
}

// ✅ 早期リターンでネストを浅く
function processOrder(order) {
  if (!order) return;
  if (order.items.length === 0) return;
  if (!order.payment) return;

  // 本題がトップレベルに来る
}

献立表ページでの実践

  • CSSのクラス名:.box1.menu-card(何のボックスかわかる)
  • JSの関数名:doStuff()toggleDarkMode()(何をする関数かわかる)
  • HTMLの構造:divの入れ子5段 → セマンティックタグで意味を明確に

「最初からきれいに書く」必要はない

まず動くコードを書いて、あとから整理する(リファクタリング)のが現実的です。最初から完璧を目指すと手が止まります。「動いた→整理する→コミット」のサイクルを回しましょう。

クリーンコード チェックリスト

チェック項目 OKの目安
変数名・関数名で中身がわかるか名前を見ただけで役割が想像できる
1つの関数が1つのことだけしているか関数名を「〜して〜する」と言わずに済む
ネストが深すぎないかインデントは3段まで。早期リターンで浅く
同じコードをコピペしていないか2回以上書く処理は関数にまとめる
マジックナンバーがないか80 ではなく PASS_LINE など名前をつける

迷ったら「3ヶ月後の自分がこのコードを読んで、すぐ理解できるか?」を基準にしましょう。それがクリーンコードの一番シンプルな判定法です。

解決しなかった?

エンジニアに質問する →

⚠️ 関連するエラー