はなちるのマイノート

Unityをメインとした技術ブログ。自分らしくまったりやっていきたいと思いますー!

【Unity】変数やメソッドのネーミングについてかるくまとめてみた

はじめに

今回は変数やメソッドのネーミングについての記事になります!

きっとネーミングで悩んでしまったことがある人が大多数ではないでしょうか?

かくいう私もいつも悩んでしまいます。

そこでネーミングについて調べてみたので、そちらを紹介したいと思います。

ただ、かならずこれに従わなければならないという訳ではありません。
所属する団体等の命名規則に従いましょう。

Pascal形式とCamel形式

変数の命名規則としてコンスタンスケースパスカルケースキャメルケースケバブスケースといった様々なものがあります。

ただC#ではPascal形式(パスカルケース)Camel形式(キャメルケース)が採用されています

この2種類の形式についてかるくまとめました。

Pascal形式

文字の先頭と各単語の最初の文字を太文字にします。
アッパーキャメルケースとも言うそうです。

EnemyFamilyName

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形式で書くべきなのか・・・。

誰かわかる方がいれば是非教えてくださいー!!