English 中文(简体)
您在PHP中命名数组时使用单数还是复数? [关闭]
原标题:
  • 时间:2008-12-28 03:10:44
  •  标签:
Closed. This question is opinion-based. It is not currently accepting answers.

想改善这个问题吗?请更新问题,以便通过事实和引用进行回答,方法是通过编辑此帖子

Closed 6 years ago.

When I m naming array-type variables, I often am confronted with a dilemma: Do I name my array using plural or singular?

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

然而,假设我想要在这个数组中引用一个名字。对于Bobby,我会说:$names[1]。但是,这似乎违反直觉。我更愿意将Bobby称为$name[1],因为Bobby只是一个名字。

所以,你可以看到一些不一致之处。命名数组有惯例吗?

最佳回答

我使用复数形式。然后我可以做像这样的事情:

$name = $names[1];
问题回答

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

我个人认为 $name[1] 这个表示方法有误导性,因为它的意思是“name中的第1个元素”,这在英语中并不通顺。

我通常在结尾处加上一些东西,比如列表,这样就会变成

nameList

否则,我会把它变成复数。

复数。

sort(name)
sort(names)

很明显,这里只有复数有意义。

接着, 在这里: (Jiē zhe, zài zhèlǐ)

name[1]
names[1]

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

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

我总是会选择

appleList 
appleArray
nameAppleDict

通过正确使用命名规范,可以节省他人阅读代码的大量时间,因为他们不必返回并检查变量类型以了解其含义。

拥有一个变量名称例如:

apples 

有时可能会令人困惑(列表,数组还是集合?)

我的复数。

基于上述所有理由,还因为我所在的工作场合(我参与创建)的约定规定数组/列表/向量等需要使用复数。

虽然复数命名有时可能会引起一些异常,但大多数情况下它提供了更清晰的代码和更容易扫描阅读的代码,而不会使你的大脑在遇到奇怪的结构时感到困扰并打断思维流程,从而不得不返回解决引起问题的地方。

复数,虽然学校教你以单数形式做,这样你就可以这样说:

value[0] = 42;

如果你仔细考虑,这确实比“更有道理。

values[0] = 42

如果你不相信我,就大声说出来。但我确实使用复数形式,以便在扫描代码时轻松辨别。这似乎也是现在人们普遍使用的标准。

别人说了什么:复数。

它在PHP中更加明目张胆。

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

将显示 o 。 :-)

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

Always plural. Same for lists of any other datatype that can hold more than one element.

总是复数形式。这样就不会在我做的时候造成任何困惑。

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

I normally use the plural form, or sometimes the same way as cited up here, adding List to the name...

I work in a lot of different languages, one thing that isn t considered is languages which have more than array. i.e person:Person; people:Dictionary. people is not necessarily an array, it could be of another type and cause an error. Also, in some languages the different types will perform better at different operations or possibly have different methods available to them.

Which is why these days in all languages I make the names with the noun singular followed by the type such as personArray or person_arr if you prefer. I generally also include the scoping at the beginning if relevant. Variable names should be explicit enough that you don t need auto complete or ctrl+f to know what it is.





相关问题
热门标签