サーバー上のカスタムアーカイブからデータを取得するのに役立つC#のインターフェイスがあります。インターフェイスは次のようになります。
public interface IRetrieveData
{
bool OkToRetrieve(SomeData data); // Method in question...
bool RetrieveToLocal(SomeData data);
}
このインターフェイスは、ローカルデータベースにデータを取得するクライアントによって実装されます。お互いのデータにアクセスできるさまざまな種類のクライアントがあります。したがって、処理コンポーネントがIRetrieveData.OkToRetrieve
実際の取得の直前に、呼び出しはクライアントコードに送られ、そこでデータを取得するかどうかが決定されます。
この時点で、クライアントはfalseを返すことができ、そのデータはスキップされるかtrueを返し、処理コンポーネントはRetrieveToLocal
を呼び出してデータをクライアントに送信し、クライアントはそれを処理します。
私が混乱しているのは、メソッドOkToRetrieve
の名前をRetrieve
またはCanRetrieve
に変更するか、OkToRetrieve
のままにするかです。
誰か提案はありますか?
IsRetrievable()
ブール値を返すメソッドは、yes-no質問として名前を付ける必要があると思います。
常にブールメソッドには、はいまたはいいえで答えられる質問に似た名前を付けます。
あなたの場合、CanRetrieveが良い名前です(あなた自身の提案を使用するだけです)。
接頭辞「should」を使用してはどうですか?
ShouldRetrieve(SomeData data);
ユースケースに依存します。 「is」、「does」、「Can」などの単語を接頭辞として使用します:IsSomePropertySoAndSo
、DoesNounSupportFeature
および例としてCanVerb
メソッドはアクションを意味します。したがって、動詞で始まるメソッド名を好みます。どう?
CheckIsRetrievable(SomeData data)
この特定のケースでは、おそらく名前を付けます。
public bool IsReady (SomeData)
これはtrue
を返すとどうなるかをより明確に示しているためです。
一般に、メソッド/関数はアクションを示すため、動詞を前に付ける必要があります。例えば確認、取得、作成など.
ブール変数の一般的な命名規則は、変数に接頭辞を付けることです。は、する、する、することができます
2つの規則を組み合わせることで、非常に優れた識別パターンが得られると思います。したがって、getIsRetreivable()またはcheckIsRetrievable()は、私にはかなり似合うでしょう。
さらにチェックを行っており、isRetrievable()が適切でない場合は、次を使用できます。
IsValid()
命名規則では、メソッド名は動詞である必要があると書かれています
CanRetrieveは私には問題ありません。 CanステムがMicrosoft APIで使用されているのを見てきました。他の唯一の本当のオプションIMOは、IsRetrievable(Azizから)です。
関数とメソッドは動詞でなければならないという規則の下で、「is」のないバリアントよりもisOKToRetrieveまたはisRetrieveOKを好むでしょう。
結果がユーザーの許可/アクセスによって決定される場合、MayRetrieve()
はより適切な名前になる可能性があります。
IsRetrievable()
はより曖昧です。これは、許可に加えて、または許可以外の他の考慮事項がある場合により適切な場合があります。