用C#(或任何其他语言)命名类

时间:2012-01-14 06:19:29

标签: c# class naming-conventions

我经常遇到这种情况 - 有一个简单的普通课,比如文章。还有另一个类存储有关它们的所有文章和元信息。我通常将它命名为ArticlesManager。但我已经读到,在类名中使用Manager,Class这样的单词是一种不好的做法。那么,如果Article类在Models名称空间中,我们该如何调用它以及如何调用其名称空间?

3 个答案:

答案 0 :(得分:3)

如何命名(就像你在问题中所做的那样)ArticleMeta?

答案 1 :(得分:2)

称之为“经理”的一大缺点是,在此之后,班级往往会承担太多责任,并开始违反单一责任原则。

考虑一个类处理的例子,它将文章存储在数据库中并命名类“ArticleStore”而不是命名为“ArticleManager”。当下一个程序员需要一个地方来翻译文章时,哪个类更可能最终得到那些不相关的代码?

这并不意味着调用某些东西“ArticleManager”是一个禁忌,如果实际上有意义作为该类的名称,它只是意味着它是一个非常通用的名称并试图将名称缩小到班级实际做的是一个好习惯。

答案 2 :(得分:1)

缺点:如果ArticleManager提供了比您能想到的更好的描述性理解,只需将其命名为ArticleManager。

很长一段时间:首先,您应该正确构建解决方案。如果在那之后,你的班级最好被描述为“ArticleManager”,那么请通过golly,callit ArticleManager。不要陷入命名约定。如果存在逻辑(并且经过深思熟虑)的原因,那么惯例就是经验法则,意在适应(或忽略)。

我自己的例子:在.net中,你“不应该公开变量”,99%的时间都是正确的。 1%的时间是不正确的,如果使用属性比裸变量具有可测量的性能损失。