70

当我命名数组类型的变量时,我经常会遇到一个难题:我是使用复数还是单数来命名我的数组?

例如,假设我有一个名称数组: 在 PHP 中我会说:$names=array("Alice","Bobby","Charles");

但是,假设我想在这个数组中引用一个名称。对于 Bobby,我会说:$names[1]. 然而,这有悖常理。我宁愿叫 Bobby $name[1],因为 Bobby 只是一个名字。

因此,您可以看到细微的差异。有命名数组的约定吗?

4

12 回答 12

82

我使用复数形式。然后我可以做类似的事情:

$name = $names[1];
于 2008-12-28T03:12:05.873 回答
19

名称应始终传达尽可能多的信息,以防读者不熟悉类型声明。因此,数组或集合应以复数形式命名。

我个人认为 $name[1] 具有误导性,因为它的意思是“名称的第一个元素”,这在英语中没有意义。

于 2008-12-28T05:25:59.440 回答
16

我通常在最后给它一些东西,比如列表,所以它会是

nameList

否则,我将其设为复数。

于 2008-12-28T03:54:11.013 回答
15

复数。

sort(name)
sort(names)

显然,这里只有复数是有意义的。

然后,在这里:

name[1]
names[1]

在这种情况下,两者都是有意义的。

因此,在引用整个集合和引用集合中的一项时,复数是唯一有意义的。

于 2008-12-28T04:28:55.983 回答
14

我总是会去

appleList 
appleArray
nameAppleDict

通过正确地命名约定,它将为其他人节省大量时间来阅读代码。因为他们不必回去检查变量类型来理解它。

具有如下变量名:

apples 

有时可能会令人困惑(列表、数组或集合?)

于 2015-10-05T06:46:57.653 回答
2

对我来说是复数。

由于上面给出的所有原因,并且因为我工作的约定约定(我参与创建)需要数组/列表/向量等的复数形式。

尽管复数命名在某些情况下可能会导致一些异常,但大多数情况是它提供了增强的清晰度和更易于扫描阅读的代码,而不会在你回去解开你的障碍时让你的大脑捕捉到一个奇怪的结构并打断流程的烦人感觉大脑从任何绊倒它。

于 2008-12-28T05:16:55.667 回答
1

复数虽然在学校教你做单数所以你可以说:

value[0] = 42;

真的,如果你仔细想想,这确实比:

values[0] = 42

如果你不相信我,就大声说出来。无论如何,我确实使用复数,以便我可以轻松分辨何时扫描代码。这似乎也是人们现在使用的标准。

于 2008-12-28T04:08:48.707 回答
1

其他人所说的:复数。

在 PHP 中更加明目张胆:

$name = 'Bobby';
echo $name[1];

将显示o。:-)

我必须承认几年前我问过自己同样的问题,但是在访问一个成员时,显示数组或集合的复数性质比英文含义更重要......

于 2008-12-28T09:55:41.657 回答
0

总是复数。对于可以包含多个元素的任何其他数据类型的列表也是如此。

于 2008-12-28T03:14:36.210 回答
0

总是复数。这样我做的时候就不会乱了...

for each (string person in people)
{
    //code
}
于 2008-12-28T05:35:04.040 回答
0

我通常使用复数形式,或者有时与此处引用的方式相同,将 List 添加到名称中......

于 2009-07-17T19:40:48.173 回答
0

我使用许多不同的语言工作,没有考虑的一件事是具有数组以外的语言。即人:人;人:字典。people 不一定是数组,它可能是另一种类型并导致错误。此外,在某些语言中,不同的类型在不同的操作中会表现得更好,或者可能有不同的方法可供它们使用。

这就是为什么现在在所有语言中,我用名词单数后跟诸如 personArray 或 person_arr 等类型的名称,如果你愿意的话。如果相关,我通常还会在开头包含范围。变量名称应该足够明确,以至于您不需要自动完成或 ctrl+f 即可知道它是什么。

于 2015-06-11T00:37:13.027 回答