こんにちは、プログラムを担当している椎葉です。
今回は変数や関数名の命名規則について書いていこうと思います。
プログラミングをやった経験がある方であれば変数や関数の名前の付け方について悩んだことがあるのではないでしょうか。
変数の名前をなにも考えずに付けていると他の人に手伝ってもらう時や、数か月たった後に修正をする場合などに変数に何がはいっているのか分からなかったり関数がどういった機能なのか分かりにくく修正に時間がかかってしまいます。
まずはソースを組む前に表記法をどの方法にするか決める必要があります。ここで3種類ご紹介します。
表記方法についてはソース内で混在しないように注意しましょう。
ハンガリアン記法
これは変数の先頭にその変数がどういった型のデータが入っているかが分かるように付ける方法です。
Webで使われるJavaScriptやPHPなどの言語では変数の型を指定した初期化などがないためハンガリアン記法を使うとどういった形式のものが入っているのか分かりやすいのでプログラムを組む時に計算や結合する処理での間違いが減ります。
接頭文字については型が明確になっている言語などの名前などが使われる場合がほとんどです。論理型ではbを先頭に付けますがこれはboolean型からきています。また文字列型の場合sを先頭に付けますがこれはstring型からきています。良く使うものをご紹介します。
接頭文字例
接頭文字 | 型 | 型名 | 例 |
---|---|---|---|
b | boolean | 論理型 | 削除フラグ bDeleteFlag |
s | string | 文字列型 | ユーザ名 sUserName |
i | int | 整数型 | 年齢 iUserAge |
f | float | 単精度浮動小数点型 | 緯度 fLatitude |
キャメル記法
この書き方は単語が複数つながっても文字数を抑えて可読性も良く多くの言語で使われています。
見た目がらくだのこぶのようにみえることからこの名前が付けられています。
大文字、小文字が英文の表記と違ってしまうので少し違和感があるのというのがデメリットでしょうか。
また先頭を大文字で書き始めるか小文字で書き始めるかの違いによってアッパーキャメルケースとローワーキャメルケースの2種類があります。
例をいくつかご紹介します。
例
項目名 | アッパーキャメルケース | ローワーキャメルケース |
---|---|---|
ユーザ名 | UserName | userName |
年齢 | UserAge | userAge |
スネーク記法
単語と単語をアンダースコア(_)で区切ってつなげる書き方です。表記が英文に近くなるため英語が得意な方は読みやすい表記です。
変数名が長くなってしまうデメリットがあります。
例
項目名 | 変数名 |
---|---|
ユーザ名 | user_name |
年齢 | user_age |
また上記表記法が組み合わさる場合もあるのでそれぞれ書き方を覚えておきましょう
以上、椎葉でした。