[英]Namespace & Class name collide
将类命名为命名空间结尾时的最佳做法是什么?
例子:
Successful.Domain.Resource {
public class Resource {}
}
Successful.Data.Resource {
public class Resources {}
}
如果我想在 Success.Data 命名空间中使用 Resource 类,我不能随意引用 Resource。 我需要声明它的命名空间,如 Domain.Resource.Resource
我使用Resharper并在文件夹中构建我的所有代码,这就是我有这样的命名空间,文件夹结构的示例:
成功的.Domain(命名空间)
成功的.Data(命名空间)
请参阅:框架设计指南 - 命名空间的名称
X 不要为命名空间和该命名空间中的类型使用相同的名称。
因此,建议使用与命名空间不同的类名。
您还可以看到Eric Lippert的这篇文章: 不要将类命名为与其命名空间相同的名称,第一部分
不建议对命名空间和类使用相同的名称。
在这种情况下,我将命名空间命名为Resources
注意这是复数,因为命名空间提供类型的逻辑分组。
类名应该更具体。 Resource
告诉你什么? 嗯没事。 正确命名你的类,类名应该传达它的作用。 换句话说,它应该是不言自明的。 在不知道 Recource 是什么的情况下,我无法想出一个好名字。
@Habib的链接很好,所以我无法为您提供一些有用的链接。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.