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

sta*_*zel 63 naming-conventions

当我命名数组类型的变量时,我常常遇到一个两难的问题:我是将数组命名为多数还是单数?

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

所以,你可以看到一个轻微的差异.是否有命名数组的约定?

tva*_*son 78

我使用复数形式.然后我可以这样做:

$name = $names[1];
Run Code Online (Sandbox Code Playgroud)

  • $ sheep = $ sheep [1]; 卫生署! (38认同)
  • 总是复数.绝对永远.其他一切都极具误导性. (2认同)
  • 我完全同意作者的观点。但这意味着我们,程序员是不一致的。因为我们一直打算使用标准。我们将集合称为复数 $names,但是在 SO 上讨论过,最好将 DB 中的表命名为单数,例如表 student。如何理解我们? (2认同)

Uri*_*Uri 17

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

我个人觉得$ name [1]会产生误导,因为它意味着"名字的第一个元素",它不具备英语意义.

  • 名称永远不应传达有关类型,可见性,继承等的任何信息. (5认同)

nic*_*des 14

复数.

sort(name)
sort(names)
Run Code Online (Sandbox Code Playgroud)

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

然后,在这里:

name[1]
names[1]
Run Code Online (Sandbox Code Playgroud)

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

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


Jam*_*tel 13

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

nameList
Run Code Online (Sandbox Code Playgroud)

否则,我把它复数.

  • 我注意到 `nameList` 在英语中很常见 (2认同)
  • @Kwadz 我发现 `nameList` 更常见。人们会说“工具包”而不是“工具包”! (2认同)

Tob*_*y D 13

我会永远的

appleList 
appleArray
nameAppleDict
Run Code Online (Sandbox Code Playgroud)

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

有一个变量名称,如:

apples 
Run Code Online (Sandbox Code Playgroud)

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