您的代码中处理复数形式的标准是什么?[关闭]


20

当使用其复数和单数都相同的变量时,如何命名它们?有没有什么标准?

例如:

Series[] series  // Plural
Series series    // Singular

深入:

具体来说,我的系列集合需要称为系列(由于JSON格式),您是否考虑命名要添加到集合中的系列的单数形式Series s

如:

List<Series> series = new List<Series>();
Series s;

while (someBool)
{
    s = new Series();
    s.Name = "Name";
    while (anotherBool)
    {
        s.AddValue(someValue);
    }
    series.Add(s);
}

4
我通常加入它们存储在集合类型到他们的名字,如区分它们seriesListseriesArrayseriesLinkedList。我认为没有命名标准。
安迪

8
+1为密宗!我猜这取决于是什么series。例如,如果是电视连续剧(我在这里推测),那么一个元素可能就是一个episode-尽管对我来说确实有些混乱。是否有对您的模型有意义的同义词?我曾经在我维护的某些代码中遇到过一个非常恐怖的解决方案-从技术上讲,它对您有用:使用gollum-speak;例如:serieses。我并不是建议您这样做-绝对不是!:D
Darragh Enright 2015年

3
@Darragh当与我的同事谈论该系列时,偶尔会在强调我们在谈论该系列时出现“系列”;)
anthonytimmers

1
由于您无法更改列表的名称,因此在该示例中,我将其称为newSeries
the_lotus

1
可以选择调用它Series[] serieses,还是Gollum-y?
Jules

Answers:


18

我认为这没有标准。大多数英语名词都没有这个问题。因此,如果您不想在变量名称中添加“列表”或“集合”之类的术语,则可能的解决方案是仅选择一个不同的术语来规避该问题。

在您的示例中,可以使用“序列”而不是“系列”(如果您想到的是“系列”的含义)。

当然,对于像“眼镜”或“裤子”这样的单词,找到适合您上下文的适当同义词可能并不容易。对于这些用户,遵循@DavidPacker的建议使用“ spectaclesCollection”或“ trousersList”之类的单词可能是最好的解决方案。


我会避免为裤子trouserList命名,因为它可能会错误地表示其背后的类型。作为问题中的C#标签,我认为XxxCollection更好,因为ICollection是接口而不是特定的实现。
2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.