Quelle est la bonne façon de nommer une méthode qui vérifie si X doit être fait et X le fait si nécessaire?
Par exemple, comment nommer une méthode qui met à jour une liste d'utilisateurs si de nouveaux utilisateurs se sont connectés? UpdateListIfNeeded
semble trop long, alors que simple UpdateList
implique une opération éventuellement coûteuse et inutile à chaque fois. EnsureListUpdated
est également une variante.
C # a un bool TryXXX(args, out result)
modèle (par exemple int.TryParse(str, out num)
) pour vérifier si X est possible et le faire, mais c'est subtilement différent.
RefreshUserList()
pendantLoginUser()
etLogoutUser()
non pendant (par exemple,GetUser()
où la liste devrait être à jour), alors certainement, les conseils ci-dessous s'appliquent.Réponses:
J'ai tendance à utiliser
Ensure
. Cela signifie que l'on s'assure que quelque chose est pris en charge, mais que cela doit être fait. Si c'est déjà bien, vérifiez-le et nous avons terminé. Sinon, faites-le. Quoi qu'il en soit, assurez - vous simplement que cela est fait .la source
Ma préférence est
UpdateList
. S'il ne faut rien faire, tant pis. Les dépenses doivent toujours être minimisées de toute façon, donc si vousUpdateList
faites plus que nécessaire, quelque chose est incorrect dans sa mise en œuvre.Fondamentalement, c'est le verbe qui vous indique ce que la méthode doit faire.
CalculateX
devrait toujours recalculer X.GetY
devrait toujours retourner Y, mais ne faire le travail de le récupérer que si nécessaire. De même,UpdateZ
demande une mise à jour de Z en supposant que cela soit fait de la manière la plus efficace possible.la source
Appelle moi peut etre"
Coopté à partir des extraits de Haskell que j'ai vus, essayez
la source