Naming conventions “的命名约定”;食品数量“;变量
假设我需要在一个变量中存储foo对象的数量 我不是一个以英语为母语的人,我总是想知道这个变量最好的名字是什么Naming conventions “的命名约定”;食品数量“;变量,naming-conventions,Naming Conventions,假设我需要在一个变量中存储foo对象的数量 我不是一个以英语为母语的人,我总是想知道这个变量最好的名字是什么 foo_numnum_foo否_foofoo_no?还是别的什么 全名应该是number\u of_foos,但有点冗长 你最喜欢的是什么?为什么?因为变量存储了foo对象的数量,fooCount得到我的投票。我会选择fooCount我倾向于使用fooCount或类似的变量。fooCount如果变量不是常量,如果是常量,fooCount:DLinux内核使用“nr_-foo”,这比“no
foo_num
<代码>num_foo<代码>否_foo<代码>foo_no?还是别的什么
全名应该是number\u of_foos
,但有点冗长
你最喜欢的是什么?为什么?因为变量存储了foo对象的数量,
fooCount
得到我的投票。我会选择fooCount
我倾向于使用fooCount或类似的变量。fooCount
如果变量不是常量,如果是常量,fooCount
:DLinux内核使用“nr_-foo”,这比“no_-foo”(看起来是否定的)要好。我自己倾向于使用“fooCount”或“fooCnt”,但有时也使用“numFoo”。我不知道为什么我会在“fooCount”和“numFoo”之间摇摆不定。我想这取决于我的心情。但是你,你应该始终如一(我也应该如此) 就像大家说的那样,大部分是footcount
。有时更适合使用foos
,通常是在您实际上没有foo列表,或者它们不是单独的对象时(例如秒
;对于比萨饼,您可以吃片
,等等)
只有在不可能混淆的情况下,才使用foos。显然,在这种情况下,你永远不会有foos列表。在英语中,“number”和“count”都可以用作名词或动词,但更常见的情况是“number”用作名词,“count”用作动词。所以你可以说“foo的数量”或“num\u foo”听起来比“foo count”或“foo\u count”更熟悉。对于我来说,当引用一个不经常变化的量时,这听起来当然更自然。“count”这个词,即使用作名词,对我来说也意味着一个随着时间推移而上升的值 Ruby和Python都有.count方法,这些方法演示了将单词用作动词而不是名词。在Ruby中,您可能会说:
foos.count # Count how many elements in the array 'foos'
不过,这会返回一个表示foo数量的值,如果您只引用了一个名为“foo_count”的变量,那么这正是您所期望的。因此,在某些方面,“foos.count”和“foo_count”看起来很相似,这是一件好事
“Number”在某些情况下可能是不明确的,因为存储不代表某个数量的数字是很常见的。其他人已经提到了身份证和信用卡号码。下面是另一个例子:
num_string
看看这个变量名,你能猜出它代表什么吗?它是表示字符串数量的整数,还是表示数字的字符串
所以我只是想大声说出来,并在我看到他们的时候给出他们各自的优点和缺点。我出现在这个老页面上的原因是,我发现自己在使用这两个页面时不一致,并且认为我会看到其他人在做什么
顺便说一句,我不喜欢“nr_-foo”,因为“nr”对我来说根本不意味着或听起来像“number”这个词。听起来像“ner”,或者可能代表“未评级”或“国家橄榄球”。:-)我甚至不敢说fooCnt听起来像什么。只是没有。我选择
fooCount
,因为它很简单,而且我认为“count”这个词是描述它的最短和最好的词,而不是“number of”之类的词
如果您需要将其存储为最终和静态(如果您不需要更改它/如果它是一个常量),我选择FOO_COUNT
。(常数的所有上限!)
我选择count
并通过Foo.count
调用它,如果您确实需要将它存储为您创建的类的属性,即Foo
为您和您的团队提供可读性 我用来表示某物的数量:somethingCount(something\u count)
我用一些东西的序列号:somethinginindex(something\u index),因为“number”这个词模棱两可(它意味着数量和序列号)我个人会根据语言标准选择
total\u foos
或totalFoos
。该值最好是一个最终总数,而不仅仅是一个运行计数
说“我总共有3个食物”比说“我有3个食物”更有意义
总的来说,这没什么大不了的,但我总是用
total
overcount
+1用于添加理由(尽管措辞相当不雅)。@delnan-通常我会详细说明,但我是在手机上回答。如果你有时使用foos
表示“对象的数量”,有时则表示“我认为收集foo
对象可能会导致混淆。slices
听起来像是slice
对象的数组,它们是pizza
对象的一部分。我会使用sliceCount
,或者nr_slices
,或者其他什么(我还没有决定:d)是的,只有在没有机会condusion@rjack-“数字”是模糊的,“计数”是具体的。例如,数字可以是一个ID。[我认为麦康奈尔在《代码完整》一书中指出了这一点,但我身上没有副本。]“number”的缩写更容易理解(Linux内核编写者除外)包括“nFoo”和“numFoo”。@Andy Thomas Cramer-不太让人迷惑的IMHO:信用卡号码
听起来像“信用卡号码”,而nr\u信用卡
听起来像“信用卡数量”,比credit\u cards\u count
短。听起来很自然(但我可能错了,因为我不是以英语为母语的人)。@rjack不管怎么说,这都是信用卡计数,因为当名词是复合词的一部分时,你通常不会对它们进行复数。Linux的“nr”和你的答案就是一个很好的例子,说明“numb”这个词是多么令人困惑