Web制作、Web開発の歩き方

分かりやすいコードの書き方

第2話:分かりやすい命名規則

(最終更新日:2025.4.4)


分かりやすいコード

この記事は5分で読めます!
(絵が小さい場合はスマホを横に)

名前が最重要!

コードの中で最も多く目にするのは「名前」だ。 関数、変数、クラス、引数、定数……これらの名前が分かりにくいと、コードの意味は一気に不透明になる。 逆に、適切な名前をつけるだけで、コメントがなくても意図が自然と伝わるようになる。 今回は「分かりやすい命名」のために押さえておきたい原則、実際の良い/悪い例、そしてチームで統一するための指針を紹介する。




1.良い変数名・関数名・クラス名の特徴

良い名前には以下のような特徴がある。

  1. 役割がすぐに分かる
  2. 読み手が推測しなくても意味が明らか
  3. 誤解を招かない

つまり、名前は「誰が見ても迷わず意味がわかること」が最も重要だ。

2.命名の3つの原則

命名には3つの原則があります。「一貫性」「意図の明示」「適切な長さ」だ。 一貫性とは、同じ意味・用途には常に同じパターンの名前を使うことである。 下記に悪い例と良い例を示す。後者は同じルールで書かれていることが分かる。

一貫性(C++)

次に意図の明示である。最初の例は変数dが何を示しているか分からないが、 次の例では一年の日数を表していることが分かる。

一貫性(C++)

最後に適切な長さである。コープが短い変数は短くてOKだ。例えば、for文で使われる回数はiやjで構わない。 一方、スコープが広い、もしくは重要な意味を持つ変数は省略せずに書いた方が良い。正確に伝えよう。

3.禁止すべき命名パターン

ここでは使わない方が良い命名パターンを取り上げる。 以下のような名前は避けるべきだ。flagやtmp、data、calcあたりはつい使ってしまいそうだが、 consumptionTaxCalc(消費税の計算)などのように、具体的に命名するようにしよう。

名前 問題点
tmp, data, value 意味があいまい、何を指しているか分からない
flag1, flag2 何を意味するフラグか分からない
doIt(), handle() 何をする関数かが不明確
calc() 何を計算するか分からない(calcTotal, calcTax にすべき)
a, b, c 長いスコープでは意味を持たない

以下に悪い命名と、改善した良い命名を示す。 flagとisConnectedを比較すると、非常に具体的で、何を見ているかがハッキリしている。 また、calculateTotalPaymentは少し長いが、支払い総額を表していることが明らかだ。

目的 悪い例 良い例
ユーザーの年齢を保持する a userAge
支払い総額を返す関数 calc() calculateTotalPayment()
一時的なバッファ tmp tempBuffer
フラグ flag1 isConnected

4.命名規則を統一するためのガイドライン

命名を統一するには、チームやプロジェクトでルールを明文化しておくことが大切だ。 コーディング規約を作り、必ずその命名法に従わせるようにしよう。

    キャメルケース or スネークケースを統一
  • C++ → camelCase / PascalCase
  • 関数名は動詞から始める
  • getUserName(), sendMessage()
  • ブール値には is, has, can をプレフィックス
  • isActive, hasError, canRetry
  • 定数には全大文字 + アンダースコア
  • MAX_BUFFER_SIZE
5.まとめ

今回は分かりやすい命名規則について説明した。 名前は「機能」や「意図」を正しく伝えるための最重要要素であることが分かったと思う。 分かりやすい命名をするためには、一貫性、明確さ、長さのバランスを意識し、 曖昧な一般的な名前を避ける。命名規則はコーディング規約で明文化し、レビューやリントツールで徹底する。 このような工夫によって、分かりやすく、長く使われるコードになっていくはずだ。

▼参考図書、サイト

 「リーダブルコード」 Dustin Boswell、Trevor Foucher 著、角 征典 訳 オライリー