一次性变量的惯用名称是什么?[关闭]


11

Velocity Template Language的set指令在左侧需要一个变量。这行不通。

#set ( $entries.add("d") )

即使我没有用的返回值add("d"),我也必须将其分配给变量。

#set ( $x = $entries.add("d") ) 

我想说明该变量是必需的,但我无意以后再使用它。是否有命名约定来仅存在于安抚编译器中的变量?


2
只是使用评论如何
Gratzy 2011年

foo?[15个字符]
Konrad Morawski 2011年

6
我将其称为代码气味。
乔尔·埃瑟顿

嗨,帕特里克,变量命名问题不在这里了:有关更多信息,请查看“为该命名”问题是否在主题上?

1
@Mark Okay,谢谢。FWIW,我认为这个问题更倾向于“概念的恰当术语”,而不是“为类或方法命名建议”。我正在寻找一种惯用名称,该惯用名称将用于各种语言和代码库中,而不是单个变量的特定名称。
Patrick McElhaney 2011年

Answers:


26

我倾向于在dummy这种情况下使用(虽然不需要使用,但我必须拥有一个变量)。


我总是用忽略。我本来可以添加自己的答案,但对此我无话可说。
约翰·布坎南

2
除了虚拟外,我还使用_(某些语言接受),转储,垃圾,黑洞(来自黑洞),无用以及其他一些我现在不记得的名称。
PEdroArthur

+1是因为经过大量搜索,我发现默认情况下pylint会忽略名为“ _”或“ dummy”的未使用变量。logilab.org/card/pylintfeatures#id9
Patrick McElhaney 2011年


16

您应该检查并查看您的语言是否具有专门用于此用途的名称-Python具有_应用于打算丢弃的变量的名称。


10
请注意,这_是提供类型匹配(ML,Haskell,scala等)的语言中此类变量的传统名称
barjak 2011年

@barjak谨记-我从未使用过任何这些语言,我认为这是Python的事情
Izkata 2011年

12

dummytemp垃圾black_hole垃圾 ...其中任何一个告诉我,我不会将它们用于任何用途。

如果我确实将if用于某些东西,我总是会重命名该变量。


1
+1(如果您以后要使用它重命名)。
Spencer Rathbun

谢谢,但这不能回答问题。我可以想出很多名字,说“这并不重要”。我正在寻找一个单一的标准名称。
Patrick McElhaney 2011年

除了一些较新的语言外,大多数语言都没有。如果您不将在这里获得最多票数的票视为“标准”,则该标准不存在。
鲁克

3

您已经有很多不错的答案,但是我想抛一个与速度更直接相关的答案。

add方法返回什么?如果为空,则可以简单地告诉速度静默引用它:

$!entries.add("d")

但是,如果要替换一个值,并且它返回旧值(如Map.put一样),则需要将其设置为某种虚拟变量,如果它是void方法,则不需要完全可变。

如果您坚决不使用新变量,则可以执行以下操作:

#if($entries.add("d")) #end

如果您经常使用它,那么我会为其创建一个宏,然后在整个模板中使用它。我看不出有什么用,但至少您只需要评论一次即可。


辉煌!true在这种情况下,该方法返回($ entries是一个ArrayList),但是,我希望它能起作用。
Patrick McElhaney 2011年

我担心您实际上是在引用列表。我已经编辑了答案,以表示您可以不使用虚拟变量的一种方法,但是我不确定是否要使用它...
Scott

2

我会给它一个合理的名称,并添加一条注释,说明您仅将其分配以安抚编译器。我见过这样的情况:有人使用了像这样的变量名,unused而另一个开发人员随后使用了该变量名,并弄乱了代码。


我喜欢未使用过。我唯一遇到的问题是我在编写它时就在使用它:/
Rook
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.