ブール値を返すメソッドに適した名前はどれですか?
IsSupportContentType
または
CanSupportContentType
Is vs. Can
Microsoftの命名規則の推奨事項 によると、ブール値の接頭辞として「Is」と「Can」の両方が(そして「Has」も)OKです。
平易な英語では、「Is」はタイプ自体ができることではなく、タイプ自体について何かを識別するために使用されます。たとえば、IsFixed
、IsDerivedFrom
、IsNullable
はすべてCLRの型とメソッドにあります。これらすべての場合において、「Is」の後には形容詞が続きます。
一方、「できる」は、機能をより明確に示します。 CanEdit
、CanRead
、CanSeek
。これらの各ケースでは、canの後にverbが続きます。
「サポート」は動詞なので、あなたの場合はCanSupportContentType
のほうがいいと思います。
短い代替案
一方、規則では、プレフィックスはオプションであるとしています。さらに、開発者はインテリセンスで引数の型を確認できるため、メソッド名に引数の型を含めるのはちょっとおかしいです。したがって、couldメソッドにSupports
という名前を付けて、次のように定義します。
public bool Supports(System.Net.Mime.ContentType contentType)
...これは短くても目的を明確に伝えます。次のように呼び出します。
ContentType contentType = new ContentType("text/plain");
var someClass = new MediatorsClass();
bool ok = someClass.Supports(contentType);
または妥協として、これがおそらく最善です:
public bool CanSupport(System.Net.Mime.ContentType contentType)
"should"接頭辞も使用できることは言及する価値があります。 Appleのガイドライン によると、「can」と「should "、一般にモーダル動詞を使用して、ブール値を返す関数に名前を付けることができます。 「will」の多くの使用法を見ることができませんが、「should "は、reactjsに見られるように、アドバイスを問い合わせるフックに最適です。
shouldComponentUpdate: (newProps: any) => boolean