プログラミングを学び始めたとき、
変数名って日本語で書いてもいいの?
と疑問に思ったことはありませんか?
実はPythonやJavaScriptなど多くのプログラミング言語では、日本語の変数名を使うこと自体は可能です。
しかし実務では英語の変数名が使われることがほとんどです。
では、
・日本語の変数名は本当にダメなのか?
・初心者は日本語で書く方が理解しやすいのでは?
・個人開発なら日本語でも問題ない?
この記事では、日本語の変数名のメリット・デメリットを整理しながら、どのような場面で使うべきかを分かりやすく解説します。
日本語の変数名は使えるのか?
結論から言うと、
多くの言語で日本語の変数名は使用可能です。
例えばPythonでは以下のように書けます。
商品価格 = 1000
消費税率 = 0.1
税込価格 = 商品価格 * (1 + 消費税率)print(税込価格)
問題なく実行できます。
つまり技術的には問題ありません。
しかし、実務ではあまり使われないのが現状です。
その理由を見ていきましょう。
日本語の変数名を使うメリット
意味が直感的に分かりやすい
日本語のため、コードの意味を理解しやすくなります。
開始日時
終了日時
合計金額
未読メッセージ数
英語に慣れていない場合でも、処理内容をすぐに把握できます。
特に初心者にとっては大きなメリットです。
ドメイン知識をそのまま表現できる
業務やサービス特有の用語をそのまま使えます。
例:
役満フラグ = True
親プレイヤー = "A"
ドラ枚数 = 3
日本語の方が自然なケースもあります。
コメントを減らせる
変数名自体が説明になります。
最終ログイン日時
注文ステータス
発送予定日
可読性が上がります。
日本語の変数名を使うデメリット
他人が読みにくい
多くのエンジニアは英語ベースでコードを書きます。
GitHubなどで公開した場合、
・読みにくい
・理解されにくい
・共同開発しづらい
といった問題が起きます。
英語と日本語が混在してしまう
ライブラリや関数は英語です。
import requestsレスポンス = requests.get(url)
コードの統一感がなくなることがあります。
入力の手間が増える
日本語入力が必要になります。
・IMEの切り替え
・変換操作
など、作業効率が下がる可能性があります。
エラー検索がしづらい
エラーメッセージは英語です。
NameError: name '合計金額' is not defined
検索しても情報が少ない場合があります。
ツールによっては不具合の可能性
現在はほぼ問題ありませんが、
・古いツール
・一部の外部システム
では文字コードが原因で問題が出る可能性もあります。
個人開発なら日本語の変数名でも良い?
結論:
個人開発なら状況によってはOKです。
特に以下の場合は問題ありません。
・学習目的
・個人用ツール
・短期間のスクリプト
・公開予定がないコード
・業務用メモ的なプログラム
例:
・スクレイピングツール
・自動化スクリプト
・個人ブログ用の処理
・データ整理ツール
理解しやすさを優先しても良いでしょう。
英語にしておいた方が良いケース
以下の場合は英語がおすすめです。
・GitHubで公開予定
・長期的に保守する
・チーム開発
・OSS化する可能性がある
・転職ポートフォリオにする
将来的に他人が読む可能性があるためです。
おすすめの折衷案
英語 + 日本語コメント
total_price = 1000 # 合計金額
discount_rate = 0.1 # 割引率
最もバランスが良い方法です。
日本語は限定的に使う
専門用語のみ日本語にします。
yakuman_flag = True
親プレイヤー = "A"
ローマ字を使う
shimekiri_date
kokyaku_id
ただし好みが分かれます。
まとめ
日本語の変数名は技術的には問題ありません。
しかし実務では英語が一般的です。
判断基準は以下の通りです。
学習 → OK
個人開発 → OK
短期スクリプト → OK
公開予定 → 非推奨
チーム開発 → 非推奨
OSS → 非推奨
迷った場合は英語を選んでおくと安心です。
ただし、理解しやすさも重要です。
目的に応じて使い分けましょう。