web-dev-qa-db-ja.com

命名規則:ブール値を返すメソッドの名前は何ですか?

サーバー上のカスタムアーカイブからデータを取得するのに役立つC#のインターフェイスがあります。インターフェイスは次のようになります。

public interface IRetrieveData
{
    bool OkToRetrieve(SomeData data); // Method in question...
    bool RetrieveToLocal(SomeData data);
}

このインターフェイスは、ローカルデータベースにデータを取得するクライアントによって実装されます。お互いのデータにアクセスできるさまざまな種類のクライアントがあります。したがって、処理コンポーネントがIRetrieveData.OkToRetrieve実際の取得の直前に、呼び出しはクライアントコードに送られ、そこでデータを取得するかどうかが決定されます。

この時点で、クライアントはfalseを返すことができ、そのデータはスキップされるかtrueを返し、処理コンポーネントはRetrieveToLocalを呼び出してデータをクライアントに送信し、クライアントはそれを処理します。

私が混乱しているのは、メソッドOkToRetrieveの名前をRetrieveまたはCanRetrieveに変更するか、OkToRetrieveのままにするかです。

誰か提案はありますか?

39
ashtee
IsRetrievable()

ブール値を返すメソッドは、yes-no質問として名前を付ける必要があると思います。

59
Aziz

常にブールメソッドには、はいまたはいいえで答えられる質問に似た名前を付けます。

あなたの場合、CanRetrieveが良い名前です(あなた自身の提案を使用するだけです)。

18
eKek0

接頭辞「should」を使用してはどうですか?

ShouldRetrieve(SomeData data);
12
dannie.f

ユースケースに依存します。 「is」、「does」、「Can」などの単語を接頭辞として使用します:IsSomePropertySoAndSoDoesNounSupportFeatureおよび例としてCanVerb

6
arviman

メソッドはアクションを意味します。したがって、動詞で始まるメソッド名を好みます。どう?

CheckIsRetrievable(SomeData data)
6
Mehmet Aras

この特定のケースでは、おそらく名前を付けます。

public bool IsReady (SomeData)

これはtrueを返すとどうなるかをより明確に示しているためです。

6
Noon Silk

一般に、メソッド/関数はアクションを示すため、動詞を前に付ける必要があります。例えば確認、取得、作成など.

ブール変数の一般的な命名規則は、変数に接頭辞を付けることです。は、する、する、することができます

2つの規則を組み合わせることで、非常に優れた識別パターンが得られると思います。したがって、getIsRetreivable()またはcheckIsRetrievable()は、私にはかなり似合うでしょう。

3
Cary Meskell

さらにチェックを行っており、isRetrievable()が適切でない場合は、次を使用できます。

IsValid()
2
davidsleeps

命名規則では、メソッド名は動詞である必要があると書かれています

1
user2679146

CanRetrieveは私には問題ありません。 CanステムがMicrosoft APIで使用されているのを見てきました。他の唯一の本当のオプションIMOは、IsRetrievable(Azizから)です。

1
spender

関数とメソッドは動詞でなければならないという規則の下で、「is」のないバリアントよりもisOKToRetrieveまたはisRetrieveOKを好むでしょう。

1
Tyler McHenry

結果がユーザーの許可/アクセスによって決定される場合、MayRetrieve()はより適切な名前になる可能性があります。

IsRetrievable()はより曖昧です。これは、許可に加えて、または許可以外の他の考慮事項がある場合により適切な場合があります。

0
Billy