"foos数量"变量的命名约定

Gia*_*omo 72 naming-conventions

假设我需要在变量中存储foo对象的数量.

不是母语为英语的人,我总是想知道那个var的最佳名称(简短且立即清晰).

foo_numnum_foono_foofoo_no?或者是其他东西?

全名应该是number_of_foos,但它有点冗长.

你最喜欢什么,为什么?

iro*_*rus 36

我选择fooCount因为它很简单,我认为"count"这个词是描述它的最短和最好的,而不是"数量"之类的.

如果您需要将其存储为最终和静态(如果您不需要更改/如果它是常量),我会选择FOO_COUNT.(常量的所有上限!)

如果你真的必须将它存储为你所制作的类的属性,那就是Foo.我去计数并通过Foo.count调用它.

为您和您的团队提供可读性!

  • 但这取决于情况。对于某些名称(例如“gamesInincludedCount”)来说,复数听起来不错,但对于其他名称(例如“gameCount”)来说,单数听起来更好。 (3认同)

Jus*_*ner 23

由于变量存储了foo对象数量的计数,因此fooCount获得我的投票.


sir*_*ide 14

Linux内核使用"nr_foo",这比"no_foo"更好(看起来像是否定).我自己倾向于使用"fooCount"或"fooCnt",但有时也使用"numFoo".我不确定为什么我在"fooCount"和"numFoo"之间摇摆不定.猜猜这取决于我的心情.但你,你应该保持一致(我应该这样);)

  • @rjack - "数字"含糊不清,"数字"具体.例如,数字可以是ID.[我认为McConnell在"代码完成"中提到了这一点,但我没有副本.]"数字"的缩写更可能被理解(除了Linux内核编写者)包括"nFoo"和"numFoo". (4认同)
  • 正如 @Kal 的回答一样,我个人会避免使用 `fooCnt`,因为可能会错误地解释它。 (2认同)

Kal*_*Kal 13

在英语中,"数字"和"计数"这两个词都可以作为名词或动词,但是将"数字"用作名词并将"数量"用作动词可能更为常见.所以你可以说'foos'或'num_foo'听起来比'foo count'或'foo_count'更熟悉.在引用不经常变化的数量时,对我来说当然听起来更自然."计数"这个词,即使用作名词,也向我建议一个随时间推移的价值.

Ruby和Python都有.count方法,它们演示了这个词被用作动词,而不是名词.在Ruby中你可能会说:

foos.count   # Count how many elements in the array 'foos'
Run Code Online (Sandbox Code Playgroud)

仍然,这会返回一个表示foos数量的值,如果您刚引用了一个名为'foo_count'的变量,这正是您可能期望的值.所以在某些方面,'foos.count'和'foo_count'看起来相似的事实是很好的.

在某些情况下,"数字"可能不明确,因为存储不代表某种数量的数字是很常见的.其他人已经提到了身份证和信用卡号码.这是另一个例子:

num_string
Run Code Online (Sandbox Code Playgroud)

看看那个变量名,你能猜出它代表什么吗?它是一个表示字符串数量的整数,还是一个数字的字符串表示?

所以我只是在大声思考,并在我看到它们时为每个人提供一些利弊.我甚至在这个旧页面上的原因是因为我发现自己使用这两个不一致,并认为我会看到其他人在做什么.

顺便说一句,我不喜欢'nr_foo',因为'nr'对我来说真的不建议或听起来像'数字'这个词.这听起来像'ner',或者可能代表'未评级'或'国家橄榄球'.:-)我甚至不敢冒险说出fooCnt听起来像什么.就是不行.


Gor*_*son 8

fooCount如果变量不是常数,FOO_COUNT如果是.:d


小智 5

我个人会选择total_foostotalFoos取决于语言标准。最好是该值是最终总数,而不仅仅是运行计数。

说“我总共有 3 个 foos”而不是“我有 3 个 foos”也更有意义。

总的来说,这是不是一个大问题,但我一直用totalcount

  • `totalFoos` 可能意味着它是 Foos 的_完整集_(这发生在我的例子中,当我收集各种集时)。另外,为了便于阅读,最好在单词的开头添加标识符。所以我会选择“foosCount”,因为它不那么矛盾并且以“foo*”开头。您也可以说“我的 foosCount 为 3”。 (2认同)