ブール値(プロパティ)がある場合、shouldAutoLogin
は、ゲッターにgetShouldAutoLogin
または単にshouldAutoLogin
と名前を付けて、英語のように読めるようにした方がよいでしょうか?
例:
if(shouldAutoLogin){
...
}
または
if(getShouldAutoLogin){
...
}
ゲッターの命名規則は通常、
getAutoLogin()
文字列またはオブジェクトを取得する場合。
ブール値の場合はisAutoLogin()
。
従来、ゲッターの値にはget
またはis
が前に付けられています。これは、Javaスタイルガイド。例 Javaプログラミングスタイルガイド でよく言及されます(これは1つの例にすぎません)。
このようなメソッド名の規則は、リフレクションを使用したり、特定のスタイルのコードを期待するツールで時々適用されます。たとえば、再びJava(JSPの式言語ですが)では、jspのコンパイル時に_${foo.bar}
_がfoo.getBar()
の呼び出しに変換されます。getValue()
はこのように強制されるため、単なる規則以上のものになります。
前述のように、上記の例はJavaからのものです。これはJavaの規則です。他の言語には他にも注意すべき規則があり、おそらく従う必要があります。一部の言語はプロパティを使用します(また、要求に応じてコピーしたり、読み取り専用にするなど、他のきちんとしたこともできます)。
特定の言語の選択に合わせてスタイルガイドを調べます。他のコーダーがあなたのコードを読むとき、あなたの個人的なスタイルを理解しようとせずにより早くコードに入ることができるように、可能であればそれらをフォローすることはおそらく良い考えです。
読みやすい方法でメソッドに名前を付けると、利点があります。名前からメソッドの意図と性質を簡単に導き出せるようにメソッドに名前を付ける( "ゲッターにはプレフィックスget
、ブール述語、is
"があります)にも利点があります。
バランスをとるのはあなた次第ですが、大規模なプロジェクトでは、一貫性のメリットは通常、偶発的な賢さのメリットを上回ります。
名前を読みやすく、規則に準拠するように名前を変更することは、毎日のいい練習です。あなたの特定のケースでは、isAutoLoginEnabled
やgetAutoLoginFlag
のようなものを検討します。
OTOHあなたには、すべてがshouldDoSomething
のパターンに従うことができる概念的に類似した方法がたくさんあります。元の名前でもかまいません。
私は常に、コードは可能な限り人間が読めるようにすべきだと思っています。コードの意図を明確に定義するのに役立ちます。あなたのケースでは、ブール値のプラスとマイナスの両方の使用法と、それが読みやすさとロジックの意図にどのように影響するかについて考えてください。
if(!shouldAutoLogin)
{
....
}
versus
if(!getShouldAutoLogin)
{
....
}
これは、コードが何をしようとしているのかという意図に、より明確な意味を与えますか?
他の人が示唆したように、変数の名前を
isShouldAutoLogin
または類似
メソッドにgetAutoLogin
やreturn
のようなデータ型をint
させたい場合は、String
と書く傾向があります。ただし、true
またはfalse
(boolean
)であるかどうかを確認する場合は、get
をis
にスワップするだけです。これ:getAutoLogin
> isAutoLogin
。どの言語にも命名規則があると思います。