変数名や関数名の名前の付け方

変数や関数はプログラミング言語に共通してあるものでコーディングには必要不可欠です。よりわかりやすい名前の付け方をチェックしましょう。

変数名はそこにどのような値が入っているのか、何のための値が入っているのかなどの情報が変数名から推測できるようにするとコーディングしやすいですし、コードを読むときにも理解しやすくなります。

関数名はその関数がどのような種類のものか推測できれば関数をより使いやすくできます。

例えば、アプリのプログラムの中で行う処理の値を設定する関数や、その値を取得する関数や、何かの機能を動作させる関数など、その種類によって関数名で何をする関数かを推測できればコードも読みやすくなります。

命名規則

自分だけがコードを読む場合は自分だけが理解できる変数名や関数名にすればいいですが、他の人がコードを読むことがあったり、自分だけが読むのだけど後で読み返すと何を書いているのかわからなくなったり、そういったことをできるだけ無くすためにある程度のルールを決めることがよくあります。

また、プログラム言語によっては簡単なルールが設けられていたりもします。

命名規則は詳細に決めることも、おおよその部分だけ決めることも、ルール化する個人やグループによって異なりますが、名前の付け方はほぼ標準として使われている命名規則を参考にするのがいいでしょう。

ここでは代表的な命名規則を紹介します。

コンスタントケース

すべて大文字で、各単語を1個のアンダースコアで区切ります。

CONSTANT

CONSTANT_CASE

主に定数に使われます。他には特別な意味を持たせたいなど強調したい場合にも使われます。

アッパーキャメルケース(パスカルケース)

文字の先頭は大文字で、各単語を大文字で区切ります。文字の並びがラクダのコブのようなところからこう言われています。

UpperCamelCase

主にクラス名に使われます。ほとんどの場合で名詞が使われています。

ローワーキャメルケース(キャメルケース)

文字の先頭は小文字で、各単語を小文字で区切ります。文字の並びがラクダのコブのようなところからこう言われています。

lowerCamelCase

主にメソッド、関数、変数に使われます。

スネークケース

すべて小文字で各単語を1個のアンダースコア(_)で区切ります。

snake_case

主に変数、関数に使われます。

チェインケース

各単語を1個のハイフン(ー)で区切ります。大文字と小文字が混在しているものも見かけますが、小文字に統一したほうが望ましいでしょう。

主にHTMLタグに記述される属性名(class, idなど)に使われます。その他のプログラミング言語で使うと演算子と混同してしまうので基本的には使用されません。

これらの命名規則を参考に書き方を統一(クラスはアッパーキャメル、メソッドはキャメルなど)するとコードがもっと見やすくなるでしょう。

コーディングルールでの命名パターン

書き方を統一するだけでも見やすくなりますが、その他に名前から変数がどのような型なのかや、関数が何をしようとしているのかなどを推測できるような名前を付けることも有効です。

ソースコードでよく見かけるのが、変数名や関数名などに接頭文字や接尾文字を付ける方法です。これを一般的にはハンガリアン記法といいます。(Wikipedia参照

整数値の代入される変数名には接頭文字に「i」を付けたり(例 iData

文字列型クラスのオブジェクトやインスタンス変数に「str」を付けたり(例 strData

関数やメソッドの場合だと、引数の値を設定するものは「set」、値を取得するものは「get」を接頭文字に付けたりします。(例 setData, getData

まとめ

コーディングしているときは理解していても、あとでコードを見返したときに変数名や関数名を見て忘れていた詳細を思い出すことも多々あります。

組織やチームでルールを決めるもの必要ですが個人でコーディングするときもこのような簡単な決めごとを持っているといいかと思います。