J'ai besoin d'un bon nom de variable pour une valeur booléenne qui renvoie false lorsqu'un objet est le dernier d'une liste.
Le seul nom décent que je peux trouver est "InFront", mais je ne pense pas que ce soit suffisamment descriptif.
Un autre choix serait "isNotLast". Ce n'est cependant pas une bonne pratique (Code Complete, page 269, Use positive boolean variable names).
Je suis conscient que je pourrais changer la définition de variable. Donc, true est renvoyé lorsqu'un objet est le dernier et appelle la variable 'isLast', cependant, cela faciliterait cette tâche si j'avais la première explication.
isBeforeTheLastItem
isInFrontOfTheLastItem
isTowardsTheFrontOfTheList
Peut-être trop verbeux mais ils peuvent vous donner des idées.
Mon vote serait de le nommer IsLast et de changer la fonctionnalité. Si ce n'est pas vraiment une option, je laisserais le nom IsNotLast.
Je suis d'accord avec Code Complete (utilisez des noms de variables booléennes positives), je crois également que les règles sont faites pour être enfreintes. La clé est de ne les briser que lorsque vous en avez absolument besoin. Dans ce cas, aucun des autres noms n'est aussi clair que le nom qui "enfreint" la règle. C'est donc l'un de ces moments où enfreindre la règle peut être acceptable.
hasFollowingItems? ou hasFollowingXXXXs où XXXX est quel que soit l'élément dans votre liste?
Personnellement, plus que tout, je changerais la logique, ou regarderais les règles métier pour voir si elles dictent un nom potentiel.
Depuis, la condition réelle qui fait basculer le booléen est en fait l'acte d'être "dernier". Je dirais que changer la logique et la nommer "IsLastItem" ou similaire serait une méthode plus préférée.
isPenultimateOrPrior
isBeforeEnd
Haskell utilise init
pour faire référence à tous sauf le dernier élément d'une liste (l'inverse de tail
, en gros); isInInit
fonctionnerait-il ou est-ce trop opaque?
Un nom sémantique simple serait last
. Cela permettrait au code toujours du code positif comme:
if (item.last)
...
do {
...
} until (item.last);
Que diriez-vous:
hasSiblings
or isFollowedBySiblings (or isFolloedByItems, or isFollowedByOtherItems etc.)
or moreItems
Bien que je pense que même si vous ne devez pas prendre l'habitude de freiner `` les règles '', parfois la meilleure façon d'accomplir quelque chose peut être de faire une exception à la règle (directives de code complet), et dans votre cas, nommez la variable - isNotLast
Deux points à considérer
Quelle est la portée de la variable (en d'autres termes: parlez-vous d'une variable locale ou d'un champ?)? Une variable locale a une portée plus étroite par rapport à un champ. En particulier, si la variable est utilisée dans une méthode relativement courte, je ne me soucierais pas tellement de son nom. Lorsque la portée est grande, la dénomination est plus importante.
Je pense qu'il y a un conflit inhérent dans la façon dont vous traitez cette variable. D'une part, vous dites "faux lorsqu'un objet est le dernier d'une liste", d'autre part, vous voulez également l'appeler "en face". Un objet qui n'est pas (pas) le dernier de la liste ne me semble pas (pas) inFront. J'irais avec isLast.
J'appellerais la variable beforeLast
.
J'ai besoin d'un bon nom de variable pour une valeur booléenne qui renvoie false lorsqu'un objet est le dernier d'une liste.
Selon le plus récent Guide de style PEP 8 pour Python Code , les noms de variables "devraient être en minuscules, avec des mots séparés par des traits de soulignement si nécessaire pour améliorer la lisibilité." Ainsi, vous devez nommer votre variable par exemple.
is_not_last
D'autres langages de programmation utilisent le style lowerCamelCase pour les variables (par exemple, firstName, lastName). Cependant, Python préfère le style underscore_separated.