「変数名は適当でいい」は誤解?未経験がハマる命名の罠
「動けばOKでしょ?」
たしかにコードは x でも a でも動きます。エラーも出ません。でも実は、変数名を適当につけたことが原因で、後になって自分が一番苦しむことになります。
うちの現場でも、未経験の頃に書いたコードを見返すと data temp flag みたいな名前だらけで、「これ何のためのデータだっけ…」と自分で自分のコードを解読する羽目になった経験があります。
今日は「命名なんて後回しでいい」という誤解を、3つのQ&A形式で解いていきます。
誤解1: 「短い方がタイピングが楽だし効率的」
Q. 変数名は x や d みたいに短くした方が、入力も楽だし早く書けますよね?
A. 実はここに大きな見落としがあります。コードは「書く回数」より「読む回数」の方が圧倒的に多いんです。
自分で書いたコードも、3日後・1週間後にはほぼ他人のコードのように見えます。バグを直すとき、機能を追加するとき、その都度あなたは自分のコードを何度も読み返します。書くのは1回でも、読むのは10回、20回とあるわけです。
例えば以下のようなコードがあったとします。
// 悪い例
let d = users.filter(u => u.a);
d が何なのか、u.a が何を表すのかは、書いた本人以外はもちろん、数日後の自分にも分かりません。
// 良い例
let activeUsers = users.filter(user => user.isActive);
タイピングの手間は数秒増えるだけですが、読むときの負担は劇的に減ります。「書く数秒」を惜しんで「読む数分」を毎回払うのは、長い目で見ると非効率なんです。
誤解2: 「意味は自分だけ分かればいい」
Q. 他の人が読むわけじゃないし、自分さえ分かれば変数名は何でもいいのでは?
A. これも今の時代ならではの落とし穴があります。今は多くの人が、AI(Claude CodeやChatGPTなど)にコードを読んでもらいながら開発を進めていますよね。
AIは変数名や関数名から「これは何のための処理か」を推測して、提案の精度を上げています。つまり、変数名が曖昧だとAI自身も意図を読み取りにくくなり、的外れな提案が返ってきやすくなるんです。
悪いプロンプト例:
「これあってる?」
(コードだけをそのまま貼り付ける。変数名も flag や data のまま)
これだとAIも「何が正しい状態か」の判断材料が少なく、当たり障りのない回答しか返せません。
良いプロンプト例:
「この変数名、意図が伝わるようにリネーム案を3つ出して。
それぞれどう違うか説明して」
こう聞くと、AIが変数の役割を一緒に整理してくれて、命名の精度も上がります。「自分だけ分かればいい」ではなく「AIにも意図が伝わる名前」を意識すると、AIとの協働の質そのものが変わってきます。これはプログラミングのスキルと同時に身につけておきたい、AIに的確に指示を出す力にもつながる部分です。
誤解3: 「後で全部リネームすればいい」
Q. とりあえず動かすのを優先して、名前は後でまとめて直せばいいですよね?
A. 気持ちはすごく分かるのですが、これが一番厄介な誤解です。変数は使えば使うほど、コードのあちこちに顔を出します。最初は1箇所だった data が、気づけば5箇所、10箇所で使われている……なんてことはよくあります。
その状態から「後でリネームしよう」と思っても、影響範囲を全部洗い出すのは想像以上に大変です。結果として「まあ動いてるし、今はいいか」と後回しにされ続け、そのまま塩漬けになってしまうケースがとても多いんです。
だからこそ、最初につける名前が実は一番コストが低いタイミングだったりします。
良い名前をつける簡単なコツ
難しく考えなくても、次の2つを意識するだけでかなり変わります。
- 型・役割が伝わる名前にする: 「何のデータか」「何をする処理か」が名前だけで分かるようにする(例:
d→userList、calc→calculateTotalPrice) - 真偽値(true/falseの値)には「〜かどうか」を表す接頭辞をつける:
flagではなくisActive(アクティブかどうか)、hasError(エラーがあるかどうか)のようにする
慣れないうちは長めの名前になっても大丈夫です。省略して分からなくなるより、多少長くても伝わる方がずっと価値があります。
まとめ
- 変数名は「書く回数」より「読む回数」の方が多いので、短さより分かりやすさを優先する
- AIと一緒に開発する時代だからこそ、意図が伝わる名前がAIの提案精度にも直結する
- 「後でリネーム」は想像以上にコストが高く、放置されがち。最初につける名前が一番安い
「動けばいい」の次のステップとして、「読める・伝わるコード」を意識してみると、自分自身もAIとの協働もぐっとスムーズになります。
変数名の付け方のような地味だけど大事な基礎から、実際に手を動かしながら体系的に学べる教材を用意しています。
未経験から Next.js + Supabase + Claude Code で Web アプリを公開するまで
気になった方はプラン詳細をチェックしてみてください。

