命名規則
変数名の選択は一貫 性と意図を伝えることが重要。
変数名
大前提として良い変数は必要な上が含まれている
「名詞」なので、「名詞のみ」もしくは「形容詞 + 名詞」でつけます
codicで検索をかけるのもいい 変数名や関数名のネーミングに迷った際の便利なカンニングペーパーまとめ
良い変数名をつけるメリット
- むだなコメントが減る(変数名を見れば目的がわかるためコメントで追記する必要がない)
- 他の開発者にとって読みやすい
以下を考えながら変数名は付けていく
- 広く意味を持つ名前をつけない
- 多少長くなっても必要な情報は必ず入れる
- boolean型 is ... 状態を表す(isActiveとか) has ... 所有を表す(hasFileとか) can ... 可能を表す(canGetとか) should ... すべきかどうか(shouldChangeとか)
関数名
一般的に関数名はその機能や動作を表す動詞で始めるのが良いプラクティス。
これは、とくに命令型プログラミン グやオブジェクト指向プログラミングにおいて、関数(またはメソッド)が何らかのアクションを実行することを示すため。
関数名は何かを処理する動作を表しているはずのため動詞のみもしくは動詞 + 名詞のように同士から始まる。
ただし、userAccountExists
のような関数名は、ブーリアン値(true/false)を返す「述語関数」(predicate function)の命名規則にしたがっている。
述語関数は、ある条件が真か偽かを判定し、その結果をブーリアン値で返す関数です。この種の関数は、しばしば「is」、「has」、「can」などの単語で始まるか、または質問形式の文で命名されます。
述語関数の命名例
isLoggedIn()
: ユーザーがログインしているかどうかを判定する。hasValidCredentials()
: 認証情報が有効かどうかを判定する。canAccessResource()
: 特定のリソースへのアクセス権があるかどうかを判定する。
userAccountExists
の場合
- この関数名は、システム内に特定のユーザーアカウントが存在するかどうかを判定することを示しています。
- 「Exists」という語は、存在を確認するという関数の目的を反映しており、述語関数の命名規則に適合しています。
結論
したがって、userAccountExists
という関数名は、その機能を適切に表しており、述語関数としての命名規則に適合しているため問題ありません。動詞を先頭に置く一般的な規則は、主にアクションを実行する関数やメソッドに適用されますが、述語関数の場合はこの規則が若干異なります。