人们经常可以看到类名带有对它们所属的命名空间的引用。其中一个最流行的例子是.NET'Xml'命名空间,其中定义的每个类都以'Xml'标记为前缀。
这对我来说似乎总是多余,但最近我意识到在某些情况下它可能有用......但仍然是多余的。
我想知道人们如何处理这个问题。
感谢。
答案 0 :(得分:5)
我采取“何时适当”的方法。我们的想法是,您希望使用最有意义的名称来命名您的类。在某些情况下,它确实意味着类名称在某种程度上与命名空间有些冗余,但请记住,除了作为using指令的一部分之外,命名空间通常不被视为代码中类名的一部分。
命名空间用于逻辑地将相关类等组合在一起,以帮助开发人员找到正确的类,并帮助最小化名称冲突的可能性。
答案 1 :(得分:4)
我倾向于在命名问题上遵守Microsoft's guidance。
回复:斯科特的评论。
我认为MS在这个问题上非常明确,它类似于你对OP的回复。例如:
不要引入通用类型名称 例如元素,节点,日志和 信息。有一个很高的 它会导致类型名称的概率 常见情景中的冲突。您 应该限定泛型类型名称 (FormElement,XmlNode EventLog, 的SOAPMessage)。
在OP的问题中,引用了Xml命名空间。如果你看一下那些类的名字,它们就是非常常见的名字,而不是“Xml”,它们位于它们之前 - 属性,字典,文档等。
无论如何,就像我说的那样,我试着遵循他们的建议。
答案 2 :(得分:1)
我喜欢System.Xml类具有Xml前缀。它帮助我将它们与通用对应物区分开来。什么是文档与XmlDocument?前缀变得更清晰。在我看来,无论如何。
在我自己的课堂上,我试着遵循这种精神。如果我正在使用一个通用的词并将其包装在我的课程中,我可以选择使用命名空间作为前缀。例如:
MyProject.Client.Application
将与Application
冲突,这是一个.NET类。
MyProject.Client.ClientApplication
将避免碰撞问题,同时仍然清楚该类的作用(至少就我的项目而言)。