はじめに
今回は変数やメソッドのネーミングについての記事になります!
きっとネーミングで悩んでしまったことがある人が大多数ではないでしょうか?
かくいう私もいつも悩んでしまいます。
そこでネーミングについて調べてみたので、そちらを紹介したいと思います。
ただ、かならずこれに従わなければならないという訳ではありません。
所属する団体等の命名規則に従いましょう。
Pascal形式とCamel形式
変数の命名規則としてコンスタンスケースやパスカルケース、キャメルケース、ケバブスケースといった様々なものがあります。
ただC#ではPascal形式(パスカルケース)、Camel形式(キャメルケース)が採用されています。
この2種類の形式についてかるくまとめました。
Camel形式
最初の単語以外の文字の先頭を大文字にします。
ローワーキャメルケースとも言うそうです。
enemyfamilyName
Pascal形式とCamel形式の使い分け
この表のように使い分けます。
| 識別子 | 形式 |
|---|---|
| 名前空間 | Pascal |
| クラス | Pascal |
| インターフェイス | Pascal |
| 構造体 | Pascal |
| 列挙型 | Pascal |
| 列挙値 | Pascal |
| イベント | Pascal |
| メソッド | Pascal |
| プロパティ | Pascal |
| 定数 | Pascal |
| フィールド | Camel |
| 引数(パラメータ) | Camel |
| ローカル変数 | Camel |
フィールドとローカル変数の違いが微妙な場合は是非こちらでチェックしてみてください。
hanaachiru.hatenablog.com
2文字の接頭辞
2文字の頭字語の場合、Pascal形式の識別子は2文字とも大文字にします。
ただ頭字語ではなく普通の単語の場合はいつも通り最初だけを大文字にします。
DBIOGoOn
アンダースコアをつける
フィールドとローカル変数を区別をするために、フィールドはアンダースコア(_)で始めます。
ただこれはかなり流派があるようなので、何度も言いますが絶対という訳ではありません。
〇フィールド
_enemy_familyName
〇ローカル変数(パラメータ)
enemyfamilyName
変数・プロパティ名は名詞
変数・プロパティ名には名詞を付けることが一般的のようです。
またリストや配列といったコレクションの場合は複数形にすることを忘れないでおきましょう。
TaxRateUnitNamefirstNumbertargetYearselectedColorcurrentWorditems
bool型の時の注意点
bool型の変数・プロパティ名にはそれが一目でわかるような名前を付けましょう。
特にFlagという名前は悪い例として挙げられます。
isEmptycanSavehasChilderen
doneSomethingfoundSomethingsuccessSomethingenabledSomethingcreatedSomethingexistsSomething
メソッド名には動詞
メソッド名には動詞を付けることが一般的のようです。
また、bool値を返すメソッドはIs、Has、Canで始めることが多いです。
FindEnemyAddEnemySendMessageGetCurrentStatus
IsEndOfYearHasAttributeCanRemove
さいごに
いくつかネーミングについてまとめてみました。
ただUnityではインスペクター上で参照する事がよくありますよね?
あれってフィールドだと思うんですが、定数としても考えられると思うんです。
Camel形式で書くべきなのかPascal形式で書くべきなのか・・・。
誰かわかる方がいれば是非教えてくださいー!!