it-swarm.com.de

Namenskonventionen: Wie nennt man eine Methode, die einen Boolean zurückgibt?

Ich habe eine Schnittstelle in C #, die das Abrufen von Daten aus einem benutzerdefinierten Archiv auf dem Server unterstützt. Die Schnittstelle sieht folgendermaßen aus:

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

Diese Schnittstelle wird von den Clients implementiert, die die Daten in die lokale Datenbank abrufen. Es gibt verschiedene Arten von Clients, die Zugriff auf die Daten des jeweils anderen haben. Wenn also die Verarbeitungskomponente unmittelbar vor dem tatsächlichen Abrufen IRetrieveData.OkToRetrieve aufruft, geht der Aufruf an den Clientcode, wo entschieden wird, ob die Daten abgerufen werden sollen oder nicht.

An diesem Punkt kann der Client den Wert false zurückgeben, und diese Daten werden übersprungen oder true zurückgegeben, und die Verarbeitungskomponente ruft RetrieveToLocal auf und sendet die Daten an den Client, der sie verarbeitet.

Ich werde verwirrt, ob ich die Methode OkToRetrieve einfach in Retrieve oder CanRetrieve umbenennen oder als OkToRetrieve belassen möchte.

Hat jemand einen Vorschlag?

35
ashtee
IsRetrievable()

Ich denke, dass eine Methode, die einen booleschen Wert zurückgibt, als Ja-Nein-Frage bezeichnet werden sollte.

57
Aziz

Benennen Sie immer boolesche Methoden, deren Namen den Fragen ähneln, die mit Ja oder Nein beantwortet werden können.

In Ihrem Fall wäre CanRetrieve ein guter Name (nur um Ihren eigenen Vorschlag zu verwenden).

18
eKek0

Wie wäre es mit dem Präfix "sollte"?

ShouldRetrieve(SomeData data);
10
dannie.f

In diesem speziellen Fall würde ich es wahrscheinlich nennen:

public bool IsReady (SomeData)

Weil es klarer zeigt, was passiert, sobald true zurückgegeben wird.

6
Noon Silk

Abhängig von Ihrem Anwendungsfall. Ich möchte ihnen Wörter wie 'ist', 'tut' oder 'Can' voranstellen: IsSomePropertySoAndSo, DoesNounSupportFeature und als Beispiel CanVerb

5
arviman

Methoden bedeuten Handeln. Daher bevorzuge ich Methodennamen, um mit einem Verb zu beginnen. Wie wäre es mit?

CheckIsRetrievable(SomeData data)
5
Mehmet Aras

wenn Sie mehr Prüfungen durchführen und isRetrievable () nicht geeignet ist, können Sie Folgendes verwenden:

IsValid()
2
davidsleeps

CanRetrieve klingt gut für mich. Ich habe gesehen, dass der Can - Stamm in Microsoft APIs verwendet wird. Die einzige andere echte Option IMO ist IsRetrievable (von Aziz), die irgendwie zu sprachlich verdreht wirkt!

1
spender

Ich würde isOKToRetrieve oder isRetrieveOK den Varianten vorziehen ohne "ist" unter der Konvention, dass Funktionen und Methoden Verben sein sollten.

1
Tyler McHenry

In Namenskonventionen wird geschrieben, dass der Methodenname Verb sein sollte

0
user2679146

Im Allgemeinen weisen Methoden/Funktionen auf Aktionen hin, so dass ihnen Verben vorangestellt werden sollten. z.B. prüfen, bekommen, machen usw. 

Die gebräuchliche Namenskonvention für boolesche Variablen besteht darin, ihnen helfende Verben, z. ist, will, kann

Ich würde denken, dass die Kombination der beiden Konventionen zu einem ziemlich guten, anspruchsvollen Muster führen würde. Daher würden getIsRetreivable () oder checkIsRetrievable () für mich ziemlich gut aussehen.

0
Cary Meskell

MayRetrieve() könnte ein besserer Name sein, wenn das Ergebnis durch die Berechtigung/den Zugriff des Benutzers bestimmt wird.

IsRetrievable() ist mehrdeutig, was möglicherweise sinnvoller ist, wenn neben der Erlaubnis andere Überlegungen angestellt werden.

0
Billy