La directive set de Velocity Template Language requiert une variable sur le côté gauche. Ça ne marche pas.
#set ( $entries.add("d") )
Même si je n'ai aucune utilité pour la valeur de retour de add("d")
, je dois l'assigner à une variable.
#set ( $x = $entries.add("d") )
Je veux communiquer que la variable est nécessaire, mais je n'ai pas l'intention de l'utiliser plus tard. Existe-t-il une convention pour nommer les variables qui n'existent que pour apaiser le compilateur?
foo
? [15 caractères]Réponses:
J'ai tendance à utiliser
dummy
pour ce genre de situation (une variable que je dois avoir mais que je n'ai pas besoin d'utiliser).la source
Vous devriez vérifier et voir si votre langue a un nom spécifiquement pour cette utilisation - Python a
_
que vous devez utiliser pour les variables que vous avez l'intention de jeter.la source
_
c'est le nom traditionnel de ce type de variable dans les langues qui fournissent une correspondance de modèle (ML, Haskell, scala, etc.)dummy , temp , trash , black_hole , garbage ... l'un d'eux me dit que je ne les utiliserai pour rien.
Si j'utilise if pour quelque chose, je renomme toujours la variable.
la source
Vous avez déjà plein de bonnes réponses, mais j'ai pensé en jeter une qui serait plus directement liée à la vélocité.
Qu'est-ce que la méthode d'ajout renvoie? S'il est nul, vous pouvez simplement dire à velocity de le référencer tranquillement:
Cependant, si vous remplacez une valeur et qu'elle retourne l'ancienne valeur (comme Map.put le fait), vous devrez la définir sur une variable fictive d'une certaine sorte, s'il s'agit d'une méthode void, vous ne devriez pas avoir besoin de la variable du tout.
Si vous êtes catégorique sur le fait de ne pas utiliser de nouvelle variable, vous pouvez procéder comme suit:
Si vous l'utilisez assez souvent, je créerais une macro pour cela, puis l'utiliser dans tous vos modèles. Je ne vois pas à quel point cela pourrait être utile, mais au moins vous n'auriez besoin de le commenter qu'une fois ...
la source
true
dans ce cas ($ entrées est une ArrayList), mais mec, je souhaite que ça marche.Je lui donnerais un nom raisonnable et ajouterais un commentaire expliquant que vous ne l'assignez que pour apaiser le compilateur. J'ai vu des cas où quelqu'un a utilisé un nom de variable comme
unused
et un autre développeur a ensuite utilisé cette variable par ce nom et a fait un désordre laid du code.la source