プログラミングで意識したい変数名のコツ

  • 2022年9月13日
  • 2023年6月8日
  • Tips

Pythonにしても、Swiftにしても、Javaにしても…プログラミングに必ずつきまとうのが変数の定義

 
そんなの、自分が分かりやすいように設定しておけば、どんな名前でもいいでしょ?

と、思う方もいらっしゃるかもしれませんが、変数名が

  • 命名規則に沿っていない
  • 他の分かりやすいパターンになっていない

という形になっていると、「このプログラムはどう動いてるのか?」がすぐ理解できないということも起こりえます。
トラブルが発生時なんかは、特に解析を急ぎたいですから、ここで時間がかかると、ロスした時間がもったいない。

ただ、プログラムをつくる側から見ると、変数はある程度自由に設定していいことになっているわけで、どんな名前をつけてもいいことになっています。
自由であるがゆえに、ルールがないと作成者が分かりやすい形でつくりがちになりますので、何かルールを決めておきたいもの。
そこで意識しておきたいのが命名規則となります。
参画するプロジェクトによっては、この命名規則が決められているところもありますが、自分で自由に命名していい場合にどうすればいいのか。
そのコツをお伝えできればと思います。

重要ポイント

最も大切なのは、その変数名を見てどんな値が入ってるのか一目で分かることです。
整数なのか、文字列なのか、データベースから取得した値なのかなど、「こういう値を取得してるよ」というのが分かるようにしておくことで、トラブルが発生したときにデバッグ(見直し)しやすくなります。
では、具体的にどのようにしたら分かりやすくなるかを見ていきます。

変数の先頭にデータ型の頭文字を入れる

プログラミングをするときに意識しておきたいことのひとつとして、エラーが発生したときにデバッグしやすいようにしておくという点があります。
急ぎで解決しないといけないときに、「この変数にはどんなデータが入ってくるのかな?」と毎回調べるのは、時間のロスとなることが多いです。
そこで提案したいのが、変数の先頭に型の頭文字を入れるということです。

例えば、integer型(整数型)の変数を定義する場合は、i_countとしたり、string型(文字列型)ではs_nameとしたり
プログラムをパッと見て、どんな型のデータが入ってくることを想定しているのかが分かるようにしておくといいです。
そうすることで、想定していなかったデータが入ってきていることが原因だったとか、究明が早くなることがあります。

どんな内容のデータなのかを具体的にする

例えば、s_nameという変数名をつけたものの、何の名前なのかが分からないということがあります。
「名前」ひとつとっても、契約者の名前なのか、送り先の名前なのか、注文者の名前なのかなど、何の名前なのかを明確にしておくと親切になりますね。

s_employee_name
s_subscribe_name

ひと目で見やすいプログラムをつくるためには、こういう配慮も必要です。

変数名に日本語を使うのは避ける

「えっ?日本語の方が分かりやすいじゃん!」という説も一理ありますし、PythonやVBAなど、日本語変数を使えるプログラムだったら活用すると分かりやすいいう声を聞くことがありますが、プログラミングを生業にしたいという方にとっては、あまり好ましくないというのが実際のところです。

日本語変数を薦めない4つの理由

(1)使えない文字がある
(2)日本語が分からない人が見たときに困る
(3)プロジェクトによって、日本語の命名をNGとしている
(4)デコードされたあとの文字列が長くなるので、WebサイトのURLには日本語を入れることがご法度である

使えない文字がある

プロジェクトの命名規則として日本語変数を使ってもいいということであれば問題ないかと思いますが、もし使うとしたら、プログラムとして使える文字なのかを確認する場面も出てきますので注意が必要です。
特に環境依存文字は不具合を起こす可能性が高いので注意しておきましょう。

日本語が分からない人が見たときに困る

特に気をつけるべきはここで、プログラムは自分以外の人が見て更新することがあるということを意識しておくことが大切です。
一個人で見れば、納品できればOKかもしれませんが、その後第三者があなたのプログラムを更新する場合があります。
そのときに、日本語変数が入っていると、その意味が分からず困るというケースもあり、言葉の意味から調べないといけないという余計な工数がかかることもあるわけです。

よりよい品質のものをつくるという点においては、共通言語である英語を活用するクセを付けておくと、「あの人いい仕事するなー」という信頼も積み重なっていきますので、意識しておきましょう。
「どうしても英語で命名しにくい…」という場合は、許されるようでしたらローマ字で変数をつくることもありかと考えています。
ローマ字だと冗長化しやすい面もありますが、ここは参考まで。

単語が複数になる場合はアンダーバーで区切る

メールアドレス(mail address)のように単語が複数になる変数も多々出てきます。
そういう場合によくやっているのは、アンダーバーで区切ることです。
どんなデータが入ってる変数なのかを識別しやすくするという狙いの一貫で、メールアドレスだと(mail_address)というようにしています。
私が提示しているパターンの場合だと、s_mail_addressのような形となりますね。
また、アンダーバーではなく、2つ目以降の単語の先頭を大文字にする(mailAddress)という形もありでしょう。
ご自身でやりやすい形を採用してみてください。

変数名とカラム名を合わせる

データベースから取得した値を変数に入れるケースがありますが、カラム名と合わせておくと、後々見たときにもわかりやすいです。
※カラム名…データ列名(項目名)
db_employee_nameというような形で、データベースから取ってきた値なんだなと分かりやすくすることで、パッと見の分かりやすさを底上げすることが可能です。
ぜひ参考にしてください。

まとめ

今回は、誰が見ても分かりやすいプログラムをつくる一歩として、変数名の命名規則を取り上げました!
つくるために提案した内容は以下の通りです。

・変数の先頭にデータ型の頭文字を入れてみよう
・変数名は出来るだけ具体的に
・変数名は原則英語、難しいようだったらローマ字で設定しよう
・アンダーバーで単語の区切ろう
・データベースカラム名と合わせよう

ぜひ実践の中で試してみてくださいね!

最新情報をチェックしよう!