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