代码之家  ›  专栏  ›  技术社区  ›  stalepretzel

你的数组是复数还是单数?[关闭]

  •  60
  • stalepretzel  · 技术社区  · 17 年前

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

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

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

    12 回复  |  直到 11 年前
        1
  •  78
  •   tvanfosson    17 年前

    我用复数形式。然后我可以做如下的事情:

    $name = $names[1];
    
        2
  •  17
  •   Uri    17 年前

    在读者不熟悉类型声明的情况下,名称应该尽可能多地传递信息。因此,数组或集合应以复数形式命名。

    我个人认为$name[1]有误导性,因为它的意思是“名字的第一个元素”,这不符合英语的意思。

        3
  •  14
  •   nicholaides    17 年前

    复数的

    sort(name)
    sort(names)
    

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

    然后,在这里:

    name[1]
    names[1]
    

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

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

        4
  •  13
  •   James Van Boxtel    17 年前

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

    nameList
    

    否则,我把它变成复数。

        5
  •  11
  •   Toby D    11 年前

    我会一直追求

    appleList 
    appleArray
    nameAppleDict
    

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

    具有变量名,如:

    apples 
    

    有时会混淆(列表、数组或集合?)

        6
  •  2
  •   jwpfox Amit    17 年前

    对我来说是复数。

    由于以上给出的所有原因以及我工作的约定(我促成创建的约定)要求数组/列表/向量等使用复数。

    虽然复数命名在某些情况下会导致一些异常,但大多数情况下,它提供了更高的清晰度和代码,更容易扫描和阅读,而不会让你的大脑感觉到一种奇怪的结构,并在你返回去把大脑从任何绊倒的东西上解开时中断了流程。

        7
  •  1
  •   PhiLho    17 年前

    其他人说的:复数。

    它在PHP中更为明显:

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

    将显示 o . -)

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

        8
  •  0
  •   Robert Venables    17 年前

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

        9
  •  0
  •   Matt Campbell    17 年前

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

    value[0] = 42;
    

    真的,如果你考虑一下,这比:

    values[0] = 42
    

    如果你不相信我,大声说出来。不管怎样,我都使用复数,这样当我扫描代码时,我就可以很容易地分辨出来。这似乎也是人们现在使用的标准。

        10
  •  0
  •   William Holroyd    17 年前

    总是复数。这样我就不会有任何困惑…

    for each (string person in people)
    {
        //code
    }
    
        11
  •  0
  •   Vargas sarnold    17 年前

    我通常使用复数形式,或者有时和这里引用的一样,在名字中添加列表…

        12
  •  0
  •   Cubed    11 年前

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

    这就是为什么现在在所有语言中,我用名词单数加上类型,如personalray或person-arr,如果你愿意的话。如果相关的话,我通常在开始时也包括范围界定。变量名应该足够明确,您不需要自动完成或ctrl+f来知道它是什么。

    推荐文章