关于命名事物的建议

时间:2011-10-28 18:39:39

标签: naming-conventions

我有一个列表,我正在尝试决定是将其称为item还是items。如果我将其称为items,则很明显foo(items)正在传递项目列表而不是单个项目。另一方面,我更愿意写item[i]来引用一个特定元素而不是items[i](因为我会说“带给我第7项”,而不是“带给我第7项”)。 / p>

我还有一个功能,我正在尝试决定是将其称为value还是get_value。如果我将其称为value,我可以编写好的语句,例如value_squared = value() ^ 2(我认为它比value_squared = get_value() ^ 2更好)但是我可能会遇到写value = value()之类的问题,而value = get_value()不会有问题。

(我知道这个问题没有正确的答案,而且这是两个问题。我愿意接受我编辑/移除/移动/拆分等的建议,因为我不太确定是什么正确的做法是。但是,我希望看到一些回复,因为我想以一种易于他人理解的方式编写代码。)

3 个答案:

答案 0 :(得分:3)

调用列表(“容器”)“项目”。将列表中的每个元素称为“项目”:)

“items [i]”非常合适。

所以:

  foreach (ListItem item in items) {
    ...

答案 1 :(得分:1)

这总是关于偏好,做你自己或团队中的事情 - 团队的工作。

这是关于你工作的商店而不是对或错。除此之外,它只是一个名字。

在我的情况下,我不想将"s"'s添加到任何内容中。例如,如果我正在设计一个包含相关注释的问题的数据库系统,我会调用我的问题表Issue,因为一个单元组(或行)代表一个问题。对于我的评论表,我最终将其命名为Comment。我不关心所有行的总数代表“问题”,对我来说,表代表一个实体。 但这又是个人偏好。

你也提到了这个:

On the other hand, I would prefer to write item[i] to refer to a particular element instead of items[i] (because I would say "bring me item 7", not "bring me items 7").

但是如果您的列表被称为items,那么如果您执行了items[i],那么看到您指的是列表中的一个项目应该是不明智的。对我而言,这是非常易读的。

至于你真正的第二点,你真的想要使用价值吗?在某些语言中可能是保留字。如果函数返回值为什么不是getValue()?我没有看到任何伤害。只要与整个项目保持一致,它将使您和其他人看到您的代码。[/ p>

答案 2 :(得分:1)

我喜欢列表的复数名称和函数的“get”前缀。我想立即知道它们是列表和功能超过了负面因素。