假设我需要在一个变量中存储foo对象的数量。
我不是母语为英语的人,所以我总是想知道该变量的最佳名称(=简短且立即清晰)。
foo_num
?num_foo
?no_foo
?foo_no
?或者是其他东西?
全名应该是number_of_foos
,但是有点冗长。
你最喜欢什么,为什么?
假设我需要在一个变量中存储foo对象的数量。
我不是母语为英语的人,所以我总是想知道该变量的最佳名称(=简短且立即清晰)。
foo_num
?num_foo
?no_foo
?foo_no
?或者是其他东西?
全名应该是number_of_foos
,但是有点冗长。
你最喜欢什么,为什么?
number_of_foos
很快变得很麻烦。
Answers:
我fooCount
之所以这样做是因为它很简单,我认为“ count”一词是描述它的最短和最好的,而不是“ number of”之类。
我去,FOO_COUNT
如果它需要存储它的最终和静态(如果您不需要更改/如果它是一个常数)。(所有大写为常数!)
我去count
,并通过调用它Foo.count
,如果你真的必须将它保存为一个类的属性,你做,这是Foo
。
您和您的团队的可读性!
foosCount
,因为复数更好地表示一组。它应该是一组事物的计数。
gamesIncludedCount
,但奇异的声音对其他名字更好gameCount
。
用英语,“数字”和“计数”这两个词都可以充当名词或动词,但更常见的是将“数字”用作名词,将“计数”用作动词。因此,您可能会说“ foos的数量”或“ num_foo”听起来比“ foo计数”或“ foo_count”更熟悉。当我引用一个不经常变化的数量时,对我来说,听起来当然更自然。“计数”一词即使用作名词,也向我暗示了随着时间的推移而上升的价值。
Ruby和Python具有.count方法,该方法演示将单词用作动词而不是名词。在Ruby中,您可能会说:
foos.count # Count how many elements in the array 'foos'
尽管如此,它仍返回一个表示foos数量的值,如果您刚刚引用了一个名为“ foo_count”的变量,这恰好是您期望的值。因此,在某些方面,“ foos.count”和“ foo_count”看起来相似的事实有点不错。
在某些情况下,“数字”可能是模棱两可的,因为存储不代表一定数量的数字是很常见的。其他人已经提到过ID和信用卡号。这是另一个例子:
num_string
查看该变量名,您能猜出它代表什么吗?它是表示字符串数量的整数,还是数字的字符串表示形式?
所以我只是想一想,就每个人的优点和缺点给与我看。我之所以在这个旧页面上,是因为我发现自己不一致地使用了两者,并认为自己会看到其他人在做什么。
顺便说一句,我不喜欢'nr_foo',因为'nr'真的根本不暗示或听起来像'number'这个词。听起来像“内心”,或者代表“未评级”或“国家橄榄球”。:-)而且我什至不敢说fooCnt听起来像什么。就是不行。
Linux内核使用“ nr_foo”,这比“ no_foo”(看起来像个否定符)要好。我本人倾向于使用“ fooCount”或“ fooCnt”,但有时也使用“ numFoo”。我不确定为什么要在“ fooCount”和“ numFoo”之间摇摆。猜猜这取决于我的心情。但是你,你应该保持一致(我应该);)
credit_card_nr
听起来像“信用卡号”,而nr_credit_cards
听起来像“信用卡号”,并且比短credit_cards_count
。对我来说听起来很自然(但是我可能不会说英语,因为我不是英语母语人士)。
__NR_open
这不是open
系统调用的数量,而是系统调用的索引,即传递给系统调用指令以指定要调用的系统调用的值。
fooCnt
因为它可能会错误地解释它。
大多fooCount
像其他人说。有时更适合使用foos
,通常是在您实际上没有foos列表或它们不是单独的对象时(例如seconds
,对于披萨,您可以拥有slices
等)。
不过,仅foos
在没有混乱的机会时使用-当很明显在这种情况下您永远不会有foos列表时。
foos
有时指“的数量foo
和其他时间的对象”是指“的集合foo
对象,我认为这可能导致混乱。
slices
对我来说,听起来像是slice
对象的数组,它们是pizza
对象的一部分。我会使用sliceCount
,或nr_slices
,或任何其他方式(我尚未决定:D)
我用的东西的数量:somethingCount(something_count)
我使用某物的序列号:somethingIndex(something_index),因为“数字”一词不明确(表示数量和序列号)
我会去 fooCount
我倾向于使用fooCount或类似的东西。