假设我需要将foo对象的数量存储在一个变量中。
作为非英语母语者,我经常想知道什么是最好的(=简短并立即明确)变量名称。
foo_num
? num_foo
? no_foo
? foo_no
? 或者其他名称?
完整的名称应该是number_of_foos
,但有点冗长。
你最喜欢哪个?为什么?
假设我需要将foo对象的数量存储在一个变量中。
作为非英语母语者,我经常想知道什么是最好的(=简短并立即明确)变量名称。
foo_num
? num_foo
? no_foo
? foo_no
? 或者其他名称?
完整的名称应该是number_of_foos
,但有点冗长。
你最喜欢哪个?为什么?
我选择使用fooCount
,因为它很直观,而且我认为"count"这个词描述起来最简短并且最恰当,而不是"number of"或类似的表述。
如果您需要将其存储为最终和静态值(即如果它是一个常量并且不需要更改),则我选择使用FOO_COUNT
。(常量使用全大写!)
如果您必须将其作为自己定义的类Foo
的属性进行存储,则我选择count
并通过Foo.count
方式进行调用。
提高可读性,有利于您和团队的协作!
foosCount
,因为复数更好地表示了一个集合。而且它应该是一组事物的计数。 - Magne由于该变量存储了foo对象的数量计数,fooCount
成为我的首选。
foos.count # Count how many elements in the array 'foos'
然而,这将返回一个表示foos数量的值,如果你只是引用了一个名为“foo_count”的变量,那么这正是你所期望的。因此,在某些方面,“foos.count”和“foo_count”看起来有点相似,这是有点好的。
“数字”在某些情况下可能会产生歧义,因为通常会存储一些不代表某物数量的数字。其他人已经提到了ID和信用卡号码。这里是另一个例子:
num_string
看看那个变量名字,你能猜出它代表什么吗?是表示字符串数量的整数,还是数字的字符串表示形式?
我只是随口想想,并根据我所见到的一些优缺点进行比较。之所以我在这个旧页面上,是因为我发现自己不一致地使用这两种方式,想看看其他人是怎么做的。
顺便说一句,我不喜欢“nr_foo”,因为对我来说,“nr”真的不像“number”这个词。听起来更像“ner”,或者代表“not rated”或“national rugby”的缩写。:-) 我甚至不想去猜fooCnt听起来像什么。就是不行。
Linux内核使用"nr_foo",这比"no_foo"更好(看起来像否定)。我自己倾向于使用"fooCount"或者"fooCnt",但有时也会用"numFoo"。我不确定为什么我在"fooCount"和"numFoo"之间摇摆不定。我猜这取决于我的心情。但是,您应该保持一致(我也应该);)
credit_card_nr
听起来像是“信用卡号码”,而nr_credit_cards
听起来像是“信用卡数量”,且比credit_cards_count
更为简洁。在我看来相当自然(但我可能错了,因为我不是以英语为母语的人)。 - Giacomo__NR_open
并不是open
系统调用的数量,而是系统调用的索引,即您传递给系统调用指令的值,用于指定您正在调用哪个系统调用。 - RuslanfooCnt
,因为有可能会被错误地解释。 - Ruben9922fooCount
代表变量不是常量,FOO_COUNT
则代表它是常量。:D
totalFoos
可能意味着它是 Foo 的一组“完整的集合”(在我收集各种集合时发生过这种情况)。此外,为了可读性,将标识符放在单词开头是很好的习惯。因此,我建议使用 foosCount
,因为它的含义不太含糊且以 foo*
开头。你也可以说:“我有3个 foosCount”。 - MagnefooCount
是最合适的。但是有时候更适合使用foos
,特别是当您实际上没有foos列表或它们不是单独的对象时(例如seconds
;对于披萨,您可以有slices
等)。foos
- 当很明显您在此上下文中永远不会有foos列表。foos
表示“foo
对象的数量”,而其他时候表示“foo
对象的集合”,那么我认为这可能会导致混淆。 - James McNellispizza
对象中的一组 slice
对象数组。我会使用 sliceCount
或 nr_slices
,或者其他什么(我还没有决定:D)。 - GiacomofooCount
。我倾向于使用fooCount或类似的变量名。