名称空间,类名冲突
本文关键字:冲突 空间 | 更新日期: 2023-09-27 18:03:16
将类命名为与名称空间结尾相同的最佳实践是什么?
的例子:
Successful.Domain.Resource {
public class Resource {}
}
Successful.Data.Resource {
public class Resources {}
}
如果我想使用的资源类的成功。数据命名空间,我不能只是引用我想要的资源。我需要声明它的命名空间像domain。resource。resource
我使用Resharper并在文件夹中组织我所有的代码,这就是为什么我有这样的命名空间,文件夹结构的例子:
成功。域(名称空间)
- 资源(文件夹)
- Resource.cs
- ResourceLocation.cs
- ResourceSettings.cs
成功。数据(名称空间)
- 资源(文件夹)
- Resources.cs
参见:框架设计指南-命名空间的名称
X不要对命名空间和该命名空间中的类型使用相同的名称。
因此建议使用与名称空间不同的类名。
您还可以看到Eric Lippert的这篇文章:不要将类命名为与其名称空间相同的名称,第一部分
不建议对命名空间和类使用相同的名称。
在这种情况下,我将命名空间命名为Resources
注意,这是复数,因为名称空间提供了类型的逻辑分组。
类名应该更具体。Resource
告诉你什么?嗯,没有。正确地命名你的类,类名应该传达它的作用。换句话说它应该是不言自明的。如果不太了解资源是什么,我无法想出一个好名字。
@Habib有很好的链接,所以我没有选择为你提供一些有用的链接。