Was ist ein guter Weg, um eine Methode zu benennen, die prüft, ob X ausgeführt werden muss, und ob X dies bei Bedarf tut?
Wie kann man beispielsweise eine Methode benennen, die eine Benutzerliste aktualisiert, wenn sich neue Benutzer angemeldet haben? UpdateListIfNeeded
scheint zu lang, während einfach UpdateList
impliziert, dass jedes Mal eine möglicherweise teure und unnötige Operation durchgeführt wird. EnsureListUpdated
ist auch eine Variante.
C # hat ein bool TryXXX(args, out result)
Muster (zB int.TryParse(str, out num)
), um zu prüfen, ob X möglich ist und es zu tun, aber das ist subtil anders.
RefreshUserList()
währendLoginUser()
undLogoutUser()
nicht währendGetUser()
(wo die Liste bereits aktuell sein sollte) anzurufen , dann gilt auf jeden Fall der folgende Rat.Antworten:
Ich neige dazu, zu verwenden
Ensure
. Es hat die Bedeutung, dafür zu sorgen, dass für etwas gesorgt wird, aber das muss getan werden. Wenn es bereits in Ordnung ist, überprüfen Sie es einfach und wir sind fertig. Ansonsten mach es. So oder so, stellen Sie einfach sicher, dass es erledigt wird .quelle
Meine Präferenz ist
UpdateList
. Wenn nichts getan werden muss, ist es auch so. Der Aufwand sollte auf jeden Fall minimiert werden, wennUpdateList
also mehr als nötig getan wird, stimmt etwas nicht in der Implementierung.Grundsätzlich ist es das Verb, das Ihnen sagt, was die Methode tun soll.
CalculateX
sollte immer X neu berechnen.GetY
sollte immer Y zurückgeben, aber nur die Arbeit des Abrufens machen, wenn nötig. EbensoUpdateZ
fordert eine Aktualisierung von Z es getan , um die effizienteste Art und Weise möglich , unter der Annahme.quelle
Rufen Sie mich vielleicht an"
Aus Haskell-Ausschnitten, die ich gesehen habe, ausgewählt, versuchen Sie es
quelle