命名の基本

camelCase・snake_case・PascalCaseの使い分け

変数・関数・型の名前をどう書き分けるか。同じ意味の比較例から、既存コードや外部APIに合わせて命名形式を選ぶ手順を説明します。

更新:発行:NEW METHOD LLC

英単語が決まっても、単語の区切り方で迷うことがあります。名前の形は好みだけで選ばず、使う言語、名前の役割、周囲のコードの順に確認すると揃えやすくなります。ここでは「顧客の表示名」を例に、形を変えてよい場面と、変える前に確認したい場面を整理します。

まず、3つの形の違いを知る

camelCaseは最初の単語を小文字で始め、後続の単語の先頭を大文字にします。snake_caseは単語をアンダースコアで区切ります。PascalCaseは最初を含め、各単語の先頭を大文字にします。PascalCaseはUpperCamelCaseとも呼ばれます。

形式を変えても、名前が表す意味は変わりません。customerDisplayNameをcustomer_display_nameにしても、顧客IDや請求先名にはならないため、表記の統一と意味の検討は分けて行います。

同じ単語を3つの命名形式で表す例
形式表記例見分けるポイント
camelCasecustomerDisplayName先頭は小文字、区切りは大文字
snake_casecustomer_display_name小文字の単語を _ で区切る
PascalCaseCustomerDisplayNameすべての単語が大文字で始まる

言語と名前の役割に合わせて選ぶ

GoogleのTypeScriptスタイルガイドでは、変数や関数はlowerCamelCase、クラスや型などはUpperCamelCaseとしています。一方、PythonのPEP 8では、関数や変数には小文字とアンダースコア、クラスにはCapWordsという区別があります。これらは各ガイドの規約であり、すべての言語に共通する文法上の制約ではありません。

新しい名前を付ける前に、同じフォルダーにある似た役割の名前を3つほど見てみましょう。既存の型がCustomerProfileなら、追加する型も同じ形式に揃えると探しやすくなります。明文化された規約やリンターの設定があれば、それを優先します。

// TypeScriptで役割を分ける例
type CustomerProfile = {
  displayName: string;
};

function getDisplayName(customer: CustomerProfile) {
  return customer.displayName;
}

APIや保存済みデータの名前は、見た目だけで変えない

外部APIからcustomer_idが返る場合、そのキーを勝手にcustomerIdへ変更すると、受け取った値を読めなくなることがあります。受信データの形は保ち、アプリ内で使う名前への変換を境界で行う方法があります。

同じ理由で、データベースの列名、公開済みAPI、他のファイルから使われる関数名は、命名形式の統一だけを理由に一括置換しないようにします。参照先や互換性を確認し、必要なら移行を別の変更として扱います。

// APIのキーを保ちながら、ローカルの名前を揃える例
const customerId = response.customer_id;

略語の扱いまで揃える

URLやIDを含む名前は、customerIDとcustomerIdのように揺れやすい箇所です。GoogleのTypeScriptガイドでは、略語も一つの単語として扱う方針を示しています。ただし、外部ライブラリが定めた表記まで変更する必要はありません。

CodePartnerで形式を選ぶときも、候補をそのまま採用する前に周囲のコードと見比べます。英語の意味、単語の区切り、略語の大文字・小文字を別々に確認すると、機械的な変換による違和感を見つけやすくなります。

  • 同じ役割の既存の変数・関数・型と形式が揃っているか
  • 外部APIや保存済みデータのキーを変更していないか
  • ID・URLなどの略語がプロジェクトの規約に合っているか
  • 形だけでなく、何を表す名前かが読み取れるか

参照資料

Google TypeScript Style Guide — Identifiers
TypeScriptでの役割別の表記と略語の扱いを確認できます。

PEP 8 — Naming Conventions
Pythonの関数・変数・クラスの命名規約を確認できます。

CodePartnerの活用を考える

サービスの内容や利用前の確認事項は、使い方・活用ガイドで詳しく紹介しています。

CodePartnerの使い方・活用ガイド

あわせて読みたいガイド