にょっす速報🐮✋

【リーダブルコード】初心者~中級者向け:読みやすいコードを書く秘訣

この記事の目次

【リーダブルコード】初心者~中級者向け:読みやすいコードを書く秘訣

リーダブルコードは、コードを書くすべての人に役立つ一冊です。本記事では、初心者から中級者向けにリーダブルコードの要点をわかりやすくまとめました。「どうすれば読みやすいコードが書けるのか」「具体的な命名ルール」などを押さえて、あなたのコードを一歩進化させましょう。


誰に向けた記事?

  • リーダブルコードの要点を短時間で知りたい人
  • 1~3年目のエンジニア
  • コードレビューの機会が増えてきた人
  • 自己流でコードを書いてきた人

リーダブルコードの基本理念

リーダブルコードでは、優れたコードを次のように定義しています。

>「他の人が読んだとき、コードの意味を理解する時間を最短化できるコード」

主なポイント

  1. 短く書くことも重要だが、それよりも理解しやすさを優先する。
    • 例: 三項演算子は短いが、可読性が低い場合は避ける。
  2. 読みやすさを意識して書くことが、結果的に保守性や生産性を向上させる。

表面上の改善:命名・コメント・フォーマット

第1部では、表面的な改善方法について具体的に説明しています。

1. 名前に情報を詰め込む

基本ルール

  • 明確で正確な名前を使う
    例:
    • getPage → 曖昧
    • fetchPage or downloadPage → 具体的でわかりやすい
  • 汎用的な名前を避ける
    例:
    • tmp → 一時的な保管としてのみ利用。
    • ユーザー情報なら userInfo を使う。
  • 単位や文脈を名前に含める
    例:
    • start → ミリ秒なら startMs にする。

実践例:ループのイテレーター

ネストしたループ内では、イテレーターに意味を持たせます。

// 悪い例
for (let i = 0; i < clubs.length; i++) {
  for (let j = 0; j < clubs[i].members.length; j++) {
    // 読みにくい
  }
}

// 良い例
for (let clubIndex = 0; clubIndex < clubs.length; clubIndex++) {
  for (let memberIndex = 0; memberIndex < clubs[clubIndex].members.length; memberIndex++) {
    // 読みやすい
  }
}

2. 誤解を避ける名前

誤解されない名前をつけるためのポイントです。

  • 限界値には「max」「min」を使う
    例: items_in_cart_limitmaxItemsInCart
  • 範囲指定は「first」「last」を使う
    例: rangeStartfirstIndex
  • ブーリアン型には「is」「has」を使う
    例: userActiveisUserActive

3. コメントの質を上げる

リーダブルコードでは、不要なコメントは削除し、コードそのものが説明的であるべきとされています。

良いコメントの例

  • 背景情報や意図を説明する
    // デフォルトのタイムアウト値は5秒。
    // ユーザーテストで最適と判明した値。
    const TIMEOUT = 5000;
  • 複雑なロジックを補足する
    // ユーザーの年齢を2つの条件で分類する
    if (user.age >= 18 && user.age < 65) {
      //...
    }

避けるべきコメント

  • コードをそのまま説明するだけのコメント
    // countに1を加える
    count += 1;

【まとめ】今日から実践する3つのステップ

  1. 命名を明確かつ正確にする
    曖昧な名前を具体的な名前に変えましょう。
  2. コメントは必要最小限に、意図を伝えるものを書く
    コードの「理由」や「背景」を記述するのがコツです。
  3. 短く書くよりも、読みやすく書くことを優先する
    チームメンバー全員が素早く理解できるコードを目指しましょう。

リーダブルコードの基本を取り入れることで、読みやすさだけでなく、コードレビューの効率も向上します。この記事を参考に、ぜひ日々のコーディングに活かしてください!

);

コメント(0件)


トピックス