結論:変数名は「①読んで意味が分かる単語」を選び、「②その言語の慣習のケース(Pythonならsnake_case、JavaScript/Javaの変数ならcamelCase、C#のメソッドやクラスならPascalCase)」で書く、の2ステップで決まります。ケースの正解は言語ごとに違うので、暗記ではなく「使う言語の慣習に合わせる」のが原則です。
a や data1 のような名前を付けてしまい、あとで自分でも読めなくなる——初心者が必ず通る道です。変数名には「意味」と「書き方(ケース)」の2つの約束事があります。この記事では、まず3つのケースの違いを整理し、次に言語ごとの慣習、最後に「良い名前を付ける原則」を、環境構築なしでその場で試せる無料レッスンと一緒に説明します。
camelCase・snake_case・PascalCase の違い
複数の単語をつなげて名前にするとき、単語の区切りをどう表すかで「ケース(case)」が分かれます。
- camelCase(キャメルケース):2語目以降の先頭を大文字にする。例:
userNamemaxCount。ラクダのコブのように途中が盛り上がるのが名前の由来です。 - snake_case(スネークケース):単語をアンダースコアでつなぐ。例:
user_namemax_count。すべて小文字。 - PascalCase(パスカルケース):各単語の先頭を大文字にする。例:
UserNameMaxCount。camelCase の1語目も大文字にした形で、「アッパーキャメルケース」とも呼ばれます。
このほか、変わらない値(定数)には UPPER_SNAKE_CASE(例:MAX_SIZE)を使う慣習が多くの言語にあります。どれを使うかは「見た目の好み」ではなく、言語ごとに決まった慣習があります。次で見ていきましょう。
言語ごとの慣習(実レッスンで確認できます)
同じ「変数に名前をつける」でも、言語によって推奨されるケースが違います。Become-Coder では各言語の入門コースで実際にコードを書きながら確認できます(すべてブラウザで実行・無料・登録不要)。
- Python:変数・関数は
snake_case、クラスはPascalCase(PEP 8 という公式の書き方指針)。まずは Pythonの「変数 ― 値に名前をつける」 をそのまま実行してみてください。 - JavaScript:変数・関数は
camelCase、クラスやコンストラクタはPascalCase、定数はUPPER_SNAKE。JavaScriptの「変数 ― 値に名前をつける」 で試せます。 - Java:変数・メソッドは
camelCase、クラスはPascalCase、定数はUPPER_SNAKE。Javaの「変数 ― 値に名前をつける」 を参照。 - C#:ローカル変数・引数は
camelCase、メソッド・クラス・publicなメンバーはPascalCase。C# は命名の考え方を1レッスン丸ごと扱っていて、C#の「命名規則とコーディングスタイル」 が特に参考になります(その前に 変数と代入 から入るのがおすすめ)。
ポイントは、**「JavaScript流の書き方をPythonに持ち込まない」**こと。チームや言語の慣習に合わせるだけで、他の人(と将来の自分)が一気に読みやすくなります。
良い変数名を付ける5つの原則
ケースが正しくても、意味が伝わらなければ良い名前ではありません。言語を問わず効く原則です。
- 中身が分かる単語にする。
dよりdays、tmpよりremainingDays。 - 省略しすぎない。
usrcntよりusercount。数文字の節約より読みやすさが勝ちます。 - ローマ字を避け、英単語にする。
namaeよりname。英語が苦手でも、よく使う単語(name / count / total / index / list など)から覚えれば十分です。 - 意味のない連番を避ける。
data1data2ではなく、rawInputparsedInputのように役割で区別する。 - 真偽値(true/false)は
ishasで始める。isActivehasErrorのようにすると「これはyes/noの値だ」と一目で分かります。
名前が良くなると、コメントが少なくても読めるコードになります。コードは「書く時間」より「後で読む時間」のほうが長いので、名前付けは投資です。
つまずきやすいところ
- タイプミスした名前を使うと、多くの言語で「その名前は無い」というエラーになります。原因の多くが単純なスペルミスやケース違い(
userNameとusernameは別物)です。Python なら NameError ― 定義していない名前を使った、JavaScript なら ReferenceError ― 定義していない変数を使った を参照してください。 - 予約語(
ifclassreturnなど)は変数名に使えません。エラーになったら、名前を少し具体的にする(class→className)と回避できます。
次に読む
- Pythonの「変数 ― 値に名前をつける」 ― snake_case を手を動かして体感
- C#の「命名規則とコーディングスタイル」 ― 命名を1レッスンでまとめて
- オブジェクト指向をやさしく解説 ― クラス名の PascalCase が活きる場面
- プログラミング、何から始める? ― 学習の入口から