コーディングにおける適切な変数命名とは

はじめに

コーディング、ひいてはソフトウェア開発におけるきわめて重要な要素として、以下の3つのステータスが挙げられます。

  • 可読性:コードの読みやすさ、理解しやすさ
  • 保守性:修正、変更のしやすさ
  • 拡張性:新機能の追加、既存機能のアップデートのしやすさ

これらのうち、可読性と保守性を高める上で欠かせないのが適切な変数命名です。変数の命名は単なるラベル付けではなく、コードの意図を伝えるための設計そのものです。

本記事では、適切な変数命名について、実例を出しつつ解説します。

なぜ命名が重要なのか

ソースコードは「書く時間」よりも「読む時間」の方が圧倒的に長いと言われています。そのため、変数名が曖昧だったり短すぎたりすると、コードの理解に余計なコストがかかってしまいます。

例えば、以下のようなコードがあるとします。

const a = getData();

このaが何を意味しているのかは、関数の中身を追わなければ分かりません。一方で、以下のコードはどうでしょう。

const userList = getData();

この書き方なら、この一文だけで「ユーザーのリスト」が返ってくることが推測できます。この差が、可読性に大きく影響します。

変数命名のポイント

意味を明確にする

命名時は、扱うデータが「何であるか」を正確に表す必要があります。

悪い例

・data
・tmp
・list

良い例

・userProfile
・orderTotalPrice
・inactiveUserList

チームで命名規則を定める

プロジェクトで開発を行う場合、コードはプロジェクトに関わる全ての人間に共有されるため、プロジェクトごとに命名規則や用語を揃えることで、コードベース全体の一貫性が保たれます。

例えば、以下のようなルールを制定しておくと効果的です。

  • booleanは is / has / can で始める
  • 単位を明記する
  • 適切な文字数を定める
  • 用途によってスネークケース(単語を_で区切る形式)とキャメルケース(単語の先頭を大文字にする形式)を使い分ける

真偽値

boolean型の変数は、true/falseの意味が自然に読める、理解できる名前にします。

悪い例

const flag = true;

良い例

const isLoggedIn = true;
const hasPermission = false;
const canEditProfile = true;

こうすることで条件分岐も読みやすくなります。

if (isLoggedIn) {
  // ログイン済みの処理
}

数値

数値は特に意味が曖昧になりやすいため、名前に単位や意味を含めることで、何を表している値かを明示します。

悪い例

const limit = 10; 
const time = 3000;

良い例

const maxRetryCount = 10; 
const timeoutMs = 3000;

配列

配列は複数形にして配列であることがすぐわかるようにします。

悪い例

const user = [];

良い例

const users = [];
const messages = [];

一時変数

一時的に使う変数にもしっかりとした意味を持たせます。「一時的だから」という理由で雑な命名をすると、後から読んだときに理解しづらくなります。

悪い例

const tmp = calculatePrice(items);
const result = tmp * 1.1;

良い例

const subtotalPrice = calculatePrice(items);
const totalPriceWithTax = subtotalPrice * 1.1;

戻り値

関数の役割と変数名が一致していると、コードの意図がより明確になります。

悪い例

const data = getUserProfile();

良い例

const userProfile = getUserProfile();

まとめ

変数命名は一見地味ではありますが、命名の質はコード全体の質に大きな影響を与えます。「とりあえず動くコード」ではなく「読みやすく、伝わるコード」を書くために、命名の精度を高めるのは非常に重要であるため、習慣化しておくことが望まれます。