Question simple, du point de vue de la lisibilité, quel nom de méthode préférez-vous pour une méthode booléenne :
public boolean isUserExist(...)
ou :
public boolean doesUserExist(...)
ou :
public boolean userExists(...)
Question simple, du point de vue de la lisibilité, quel nom de méthode préférez-vous pour une méthode booléenne :
public boolean isUserExist(...)
ou :
public boolean doesUserExist(...)
ou :
public boolean userExists(...)
"rend votre {appel de méthode} beaucoup plus proche de l'anglais naturel" semble être un excellent test pour la dénomination rationnelle à tous les niveaux. j'ai clarifié ma pensée sur le sujet - merci !
D'autre part, isolément ou lorsqu'il ne suit pas immédiatement "if", "userExists()" sonne comme une déclaration de fait, plutôt que la question à laquelle il était destiné. Contrairement à "IsUserExisting()" ou "DoesUserExist()", qui suivent les règles d'ordre des mots du langage naturel anglais pour les questions simples.
Mais pourquoi les méthodes retournant un bool seraient-elles utilisées en dehors d'un système de gestion de l'information ? if
? S'ils ont des effets secondaires, c'est encore pire. if IsUserExisting()
y if DoesUserExist()
a l'air horrible et devrait être évité.
Je choisirais userExists() car 1) il est logique en langage naturel et 2) il respecte les conventions des API que j'ai vues.
Pour voir si cela a un sens en langage naturel, lisez-le à voix haute. "If user exists" ressemble plus à une phrase anglaise valide que "if is user exists" ou "if does user exist". "If the user exists" serait mieux, mais "the" est probablement superflu dans un nom de méthode.
Pour voir si un fichier existe dans Java SE 6, vous devez [utiliser File.exists()](http://docs.oracle.com/javase/6/docs/api/java/io/File.html#exists()) . On dirait que ce sera la même chose [dans la version 7](http://docs.oracle.com/javase/7/docs/api/java/io/File.html#exists()) . C# utilise la même convention comme le font Python y Ruby . J'espère que cette collection est suffisamment diversifiée pour que l'on puisse parler de réponse agnostique. En règle générale, j'opterais pour des méthodes de dénomination conformes à l'API de votre langue.
Il y a des éléments à prendre en compte qui, à mon avis, n'ont pas été pris en compte dans plusieurs autres réponses ici.
Cela dépend s'il s'agit d'une méthode de classe C++ ou d'une fonction C. S'il s'agit d'une méthode, elle sera probablement appelée if (user.exists()) { ... }
o if (user.isExisting()) { ... }
pas if (user_exists(&user))
. C'est la raison pour laquelle les normes de codage stipulent que les méthodes bool doivent commencer par un verbe, car elles se lisent comme une phrase lorsque l'objet est devant elles.
Malheureusement, beaucoup d'anciennes fonctions C renvoient 0 en cas de succès et une valeur différente de zéro en cas d'échec. Il peut donc être difficile de déterminer le style utilisé, à moins de suivre la règle selon laquelle toutes les fonctions bool commencent par des verbes ou comparent toujours à true, comme suit if (true == user_exists(&user))
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
29 votes
Le premier ressemble à
isBabbyFormed
0 votes
Cela dépend de la langue. Différents langages ont des conventions différentes ; Java et Objective C me viennent à l'esprit. C'est aussi à la limite du subjectif.
0 votes
Subjectif - assez juste
3 votes
C'est purement subjectif.
getUserExistence
,userIsNotExtinct
,userHasExistentialState
etc...3 votes
Sartre serait fier
0 votes
La première variante devrait être "isUserExistent" ou "isUserExisting". isUserExist" est un anglais incorrect.