🔖

変数名の命名規則ガイド

に公開

変数名の命名規則ガイド

プログラムで読みやすくメンテナンスしやすいコードを書くためには、変数名の付け方が重要です。意味の分かりやすい名前を付けることで他の開発者や未来の自分がコードを理解しやすくなります。このガイドでは変数名の基本原則とよく使われる命名規則、実際の命名例を紹介します。

命名の基本原則

  • 目的や役割が分かる具体的な名前にする
  • プロジェクト全体で同じケース(スネークケース、キャメルケースなど)を使い統一する
  • 英語で書き、日本語のローマ字化や略語は避ける
  • 数や集合を表す場合は単数/複数を区別する
  • 真偽値の変数は is / has / can など肯定的な表現で始める
  • 定数や変更されない値は大文字・アンダースコア(コンスタントケース)にする
  • タイプを表す接頭辞(str、intなど)は基本的に不要
  • 略語や意味のない文字列を避ける。どうしても略語を使う場合はプロジェクト全体で統一する

主な命名規則

以下は多くの言語やライブラリで使われる命名規則です。プロジェクトに合わせて選択し、統一しましょう。

規則 説明
パスカルケース 単語の頭文字を大文字にする TaxIncludedPrice
キャメルケース 最初の単語は小文字、2詞直後以降の頭文字を大文字にする taxIncludedPrice
スネークケース 単語をすべて小文字にしてアンダースコアで区切る tax_included_price
コンスタントケース 単語をすべて大文字にしてアンダースコアで区切る TAX_INCLUDED_PRICE

よく使う変数名の例

以下は具体的な用途とそれに対応する命名例です。必要に応じてプロジェクトに合わせて変えてください。

ユーザー・人物に関する変数

  • userName – ユーザー名
  • userId – ユーザーID
  • email – メールアドレス
  • registeredAt – 登録日時

データ・オブジェクトに関する変数

  • data – データ全体や1件のレコード
  • records – データのリストや配列
  • config – 設定情報
  • result – 処理結果
  • errorMessage – エラー内容

金額・数値に関する変数

  • totalAmount – 合計金額
  • tax – 税額
  • quantity – 数量
  • discountRate – 割引率

日付・時間に関する変数

  • createdAt – 作成日時
  • updatedAt – 更新日時
  • startTime – 開始時刻
  • endTime – 終了時刻

状態(真偽値)に関する変数

  • isActive – 有効かどうか
  • isDeleted – 削除済みかどうか
  • hasPermission – 権限を持っているかどうか
  • isLoggedIn – ログインしているかどうか

よくある命名集

一般的によく使われる変数名の例をカテゴリーごとにまとめました。プロジェクトの設計に合わせて適切な名前を選びましょう。

カテゴリー 用途
ユーザー系 ユーザー関連のデータ userName, userId, email
データ集合 データのリストや配列 users, tasks, messages
数値系 数値や計算結果 totalAmount, tax, quantity
日時系 日付や時間を表す createdAt, updatedAt, startTime
状態フラグ 真偽値(状態を表す) isActive, hasPermission
設定系 設定や構成情報 config, settings
結果・応答 処理結果やAPI応答 result, response

悪い命名例と改善策

悪い例とそれを改善した例を比べることで、変数名の重要性を理解しましょう。

悪い例 改善例 理由
a, b userName, userEmail 意味が分からないため
data1, data2 invoiceData, customerData 役割が曖昧
flg isActive フラグの意味が不明確。肯定形の変数名が読みやすい
tmp temporaryFile, tempUser 何の一時データか明確にする
cnt count, userCount 略語よりも具体的な名前を使用

まとめ

変数名はコードの読みやすさや保守性に直筒します。意味が伝わる英語の名前を付け、プロジェクト全体で命名規則を統一することで、チーム開発でも自分自身でも理解しやすいコードを書くことができます。この記事で紹介した原則や例を参考に、明確で一貫した変数名を心掛けてみてください。 ## プロとして押さえておきたい命名のコツ

プロのエンジニアが実践している命名の工夫をいくつか紹介します。

  • 言語やフレームワークのスタイルに従う — Pythonはsnake_case、JavaやJavaScriptはcamelCaseが一般的。チームのコードベースで統一する。
  • ドメインに合わせた意味のある名前 — eコマースならcartItemorderStatusなどドメインを反映させる。
  • コレクションは複数形で — リストや配列を表す変数はusersitemsのように複数形で表す。
  • 認知された略語のみ使用するURLHTMLAPIなど共通理解のある略語はそのまま使って良いが、独自の省略は避ける。
  • 否定形を避けるisDisabledよりもisEnabledhasNotErrorよりもhasErrorなど肯定的な表現を使うと理解しやすい。
  • 列挙型で状態を管理する — booleanでは足りない複数の状態はenumや文字列で表す(例:status: "pending" | "approved" | "rejected")。
  • 長すぎる名前は避けるが、意味を犠牲にしないtempAuthTokenExpirationTimeよりauthTokenExpiryなど適度な長さで表現する。
  • 環境変数や定数は大文字とスネークケースDATABASE_URLMAX_RETRY_COUNTなど。

これらのコツを参考に、プロフェッショナルなコードベースでも通用する命名を心掛けましょう。

Discussion