プログラミングでの変数や関数などの命名はどうやってしたらいいの?
時間を掛けず、サッと決めれるコツなどがあれば教えて欲しい。
本記事の内容
結論をいうと、プログラミングで使う変数や関数などの命名は
「誰が見ても名前だけでその役割がすぐに分かる」
のであればOK。
これから解説する「3つの命名のコツ」に従えば、誰でも簡単に命名可能です!
そうなれば保守性、可読性なども高まり余計なバグ回避にもなりますよ。
ということで、この記事ではプログラミングにおける「変数や関数などの命名方法」について解説していきます。
≫初心者プログラミング|基本構文5つの解説まとめ【図解あり】
\挫折せず効率よく学ぶなら!/
答えてくれると嬉しいです!
1.プログラミングにおける変数や関数などの命名のコツ3つ
プログラミングにおける変数・関数の命名のコツは次の3つです。
1.命名方式に従う|見た目を統一
変数や関数の「見た目」を統一しましょう。
その統一方法は以下3つです。
- キャメルケース
- パスカルケース
- スネークケース
順番に解説していきます。
1.キャメルケース
複数の単語で構成されている場合、最初の単語以外の単語の先頭を大文字で記述します。
例)dogName、ballCount
「キャメルケース」は変数名で良く使われます。
ただ、単語同士が直接つながっているので、あとで解説する「スネークケース」より視認性は悪いです。
2.パスカルケース
先ほど解説した「キャメルケース」と似ていますが、各単語の先頭を大文字で記述します。
例)Calender、FIleSize
「パスカルケース」はクラス名でよく使われます。
前述した「キャメルケース」と同じく単語同士が直接つながっているので、次節で解説する「スネークケース」より視認性は悪いです。
3.スネークケース
各単語を"_"アンダースコアで区切って記述します。
例)sort_number、save_account
「スネークケース」は変数名や関数名などでよく使われます。
"_"アンダースコアで区切ってあるので、各単語が見やすいです。
しかし、"_"アンダースコアにより文字数が多くなるのが欠点です。
各言語の命名方式(公式)
以下は各言語の命名方式(公式)です。
クラス名やメソッド名も合わせてご紹介しておきます。
PHP | Java | Javascript | C# | Ruby | ||
変数名 | 規約なし | キャメルケース | スネークケース | キャメルケース | キャメルケース | スネークケース |
関数名/メソッド名 | キャメルケース | キャメルケース | スネークケース | キャメルケース | パスカルケース | スネークケース |
クラス名 | パスカルケース | パスカルケース | パスカルケース | キャメルケース | パスカルケース | キャメルケース |
コーディング規約 | >>PHP-FIG | >>GoogleJava StyleGuide |
>>PEP8 | >>Google JavaScript Style Guide |
MSDN C#のコーディング規則 | ruby-style-guide |
変数や関数では使われませんが、その他の命名方式についても少しだけ触れておきますね。
チェインケース|CSSなどマークアップ言語で使用
各単語を"-"ハイフンで区切って記述します。
例)search-data、play-list
PHP、Java、python、javascriptなど、多くのメジャーな言語では変数名に"-"ハイフンは使えません。
「チェインケース」を使っているものとして、CSSやHTMLなどのマークアップ言語やファイル名などが挙げられます。
コンスタントケース|定数で使用
単語を全て大文字で記述、各単語を"_"アンダースコアで区切ります。
例)START_NUMBER、CONST_VALUE
「コンスタントケース」はどの言語も「定数」に用いられます。
「定数」とはあらかじめ決まった値(固定値)のことで、滅多に変更されることはないものです。
例えば、消費税率などを定数として定義しておいて、料金(金額)計算として使用します。
2.品詞を使う|役割(目的)がわかる
品詞を使うことで、変数や関数の役割(目的)が明確になります。
品詞とは、名詞や動詞、形容詞、助動詞といった単語の種類のこと。
それでは、以下2つについて品詞を使った命名方法について解説します。
- 変数
- 関数
変数
変数の命名は以下2つのパターンで行います。
- 名詞(名詞 + 名詞)
- 形容詞 + 名詞
主に名詞を用いて、
例えば「犬の名前」が入る変数なら「dogName」
「次のページ番号」なら「next_page_number」
と具体的に何を格納する変数なのかを明確にしましょう。
関数
関数の命名は主に動詞を用いて記述します。
- 動詞 + 名詞
なぜなら、関数には「何か処理をさせる」という役割があるからです。
例えば、ユーザーデータを取得する関数であれば「getUserData ()」
メール送信する関数なら「send_mail ()」
と、どんな処理をする関数なのかわかるようにしましょう。
3.極力短い名前にする|読みやすい
20文字以内に短くしましょう。
長い名前だと、パッと一目で見ても理解しにくいです。
例えば、「数学の平均点」を格納する変数を直接作るとなると、以下のようになります。
mathematical_average_point、mathematicalAveragePointなど
長いですし、直接記述するのも大変です。
なので、以下のように略せる単語は省略し命名しましょう。
math_avg_point
略語が妥当(一般的に通用するか)かどうか判断するには、以下のサイトが参考になりますよ。
2.命名で気をつけること
命名で気をつけることは以下3つ
- アルファベットを並べてはいけない
- 先頭1文字目に数字は使えない
- 予約語は使用してはいけない
1.アルファベットをただ並べてはいけない|ローマ字表記はNG
ローマ字表記になってはいけません。
例えば「数学の平均点」を格納する変数を作ろうとして、
「suugakunoheikinten」
これは、最後まで読まないと分かりません。
なので、一目で何を差しているものなのか分からないです。
2.先頭1文字目は数字を使ってはいけない
多くの言語の命名規則では英数字、"_"アンダースコアが使えます。
しかし、先頭1文字目の数字は禁止されています。
そもそも数字自体には、何の目的も意味もありませんよね。
3.予約語は使用してはいけない
「予約語」は、あらかじめ各言語で既に何らかの使用目的が決まっている文字列です。
ですから、開発者が変数などに付ける識別名としては利用できません。
予約語は各言語で決められていますから、あらかじめ確認しておきましょう。
まとめ
最後に要点をまとめます。
プログラミングにおける命名のコツは次の3つです。
- 命名方式に従う|見た目を統一
- 品詞を使う|役割がわかる
- 極力短い名前にする|読みやすい
命名で気をつけることは以下3つ
- アルファベットを並べてはいけない
- 先頭1文字目に数字は使えない
- 予約語は使用してはいけない
以上を意識することで「誰が見ても名前だけでその役割がすぐに分かる」ような変数名や関数名を作ることができますよ。
もし、変数名や関数名の命名で困った時は、以下のネーミング辞書「codic」を使いましょう!
日本語を入力すると、命名規則に沿った命名をしてくれるので大変便利なサイトです。