您是以多个还是单个命名阵列?

时间:2008-12-28 03:10:44

标签: naming-conventions

当我命名数组类型变量时,我经常遇到两难: 我是以多个还是单个命名我的阵列?

例如,假设我有一系列名称:在PHP中我会说:$names=array("Alice","Bobby","Charles"); 但是,那么我想在这个数组中引用一个名称。对于鲍比,我会说:$names[1]。但是,这种接缝反直觉。我宁愿打电话给Bobby $name[1],因为Bobby只有一个名字。

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

12 个答案:

答案 0 :(得分:78)

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

$name = $names[1];

答案 1 :(得分:17)

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

我个人认为$ name [1]具有误导性,因为它意味着“名字的第一个元素”,它不具备英语意义。

答案 2 :(得分:14)

多个。

sort(name)
sort(names)

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

然后,在这里:

name[1]
names[1]

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

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

答案 3 :(得分:13)

我通常会像 list 那样给它一些东西,所以它会是

nameList

否则,我将其复数。

答案 4 :(得分:13)

我会一直选择

appleList 
appleArray
nameAppleDict

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

具有如下变量名称:

apples 

有时可能会混淆(列表,数组或集?)

答案 5 :(得分:2)

对我来说很多。

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

虽然多数命名在某些情况下可能会导致一些异常,但大多数情况下它提供了增强的清晰度和更容易扫描读取的代码,而没有令人讨厌的感觉,你会抓住一个奇怪的结构并在你回去时打断流程将你的大脑从绊倒的东西中解开。

答案 6 :(得分:1)

其他人说的是:复数。

在PHP中更加明目张胆:

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

将显示 o 。 : - )

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

答案 7 :(得分:0)

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

答案 8 :(得分:0)

多元虽然教你在学校做单数,所以你可以说:

value[0] = 42;

如果你认为它确实比它更有意义

values[0] = 42
如果你不相信我,请大声说出来。无论我使用复数,以便我可以轻松地告诉我何时扫描代码。这似乎也是人们现在使用的标准。

答案 9 :(得分:0)

总是复数。这样,当我这样做时没有任何混淆......

for each (string person in people)
{
    //code
}

答案 10 :(得分:0)

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

答案 11 :(得分:0)

我使用很多不同的语言,有一点不被考虑的是具有多个数组的语言。即人:人;人:字典。人不一定是数组,它可能是另一种类型并导致错误。此外,在某些语言中,不同的类型在不同的操作中表现更好,或者可能有不同的方法。

这就是为什么现在在所有语言中我都使用名词单数形成名称,后跟类型如personArray或person_arr(如果您愿意)。如果相关,我通常还会在开头包括范围界定。变量名称应该足够明确,以便您不需要自动完成或ctrl + f来了解它是什么。