【リーダブルコード】初心者~中級者向け:読みやすいコードを書く秘訣
この記事の目次
【リーダブルコード】初心者~中級者向け:読みやすいコードを書く秘訣
リーダブルコードは、コードを書くすべての人に役立つ一冊です。本記事では、初心者から中級者向けにリーダブルコードの要点をわかりやすくまとめました。「どうすれば読みやすいコードが書けるのか」「具体的な命名ルール」などを押さえて、あなたのコードを一歩進化させましょう。
誰に向けた記事?
- リーダブルコードの要点を短時間で知りたい人
- 1~3年目のエンジニア
- コードレビューの機会が増えてきた人
- 自己流でコードを書いてきた人
リーダブルコードの基本理念
リーダブルコードでは、優れたコードを次のように定義しています。
>「他の人が読んだとき、コードの意味を理解する時間を最短化できるコード」主なポイント
- 短く書くことも重要だが、それよりも理解しやすさを優先する。
- 例: 三項演算子は短いが、可読性が低い場合は避ける。
- 読みやすさを意識して書くことが、結果的に保守性や生産性を向上させる。
表面上の改善:命名・コメント・フォーマット
第1部では、表面的な改善方法について具体的に説明しています。
1. 名前に情報を詰め込む
基本ルール
- 明確で正確な名前を使う
例:getPage
→ 曖昧fetchPage
ordownloadPage
→ 具体的でわかりやすい
- 汎用的な名前を避ける
例: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_limit
→maxItemsInCart
- 範囲指定は「first」「last」を使う
例:rangeStart
→firstIndex
- ブーリアン型には「is」「has」を使う
例:userActive
→isUserActive
3. コメントの質を上げる
リーダブルコードでは、不要なコメントは削除し、コードそのものが説明的であるべきとされています。
良いコメントの例
- 背景情報や意図を説明する
// デフォルトのタイムアウト値は5秒。 // ユーザーテストで最適と判明した値。 const TIMEOUT = 5000;
- 複雑なロジックを補足する
// ユーザーの年齢を2つの条件で分類する if (user.age >= 18 && user.age < 65) { //... }
避けるべきコメント
- コードをそのまま説明するだけのコメント
// countに1を加える count += 1;
【まとめ】今日から実践する3つのステップ
- 命名を明確かつ正確にする
曖昧な名前を具体的な名前に変えましょう。 - コメントは必要最小限に、意図を伝えるものを書く
コードの「理由」や「背景」を記述するのがコツです。 - 短く書くよりも、読みやすく書くことを優先する
チームメンバー全員が素早く理解できるコードを目指しましょう。
リーダブルコードの基本を取り入れることで、読みやすさだけでなく、コードレビューの効率も向上します。この記事を参考に、ぜひ日々のコーディングに活かしてください!