2009-06-17 55 views
2

比方说我们有以下文件和[文件夹]结构工程与MyNamespace主命名空间:正确分配命名空间(与ReSharper的建议)

  • [实体]
    • Article.cs
    • Category.cs
  • [接口]
    • IReviewable.cs
    • ISearchable.cs
  • Enumerations.cs

据ReSharper的建议的命名空间类别ArticleCategory应该是MyNamespace.EntitiesIReviewableISearchable命名空间应该是MyNamespace.Interfaces,为Enumerations类的命名空间应该是简单的了myNameSpace

这是因为ReSharper的建议是基于文件夹结构而定的,它的建议基于th文件在结构中的位置。


您如何看待上述命名空间?你认为只为它们的文件夹位置实现类(接口等)的命名空间是正确的吗?

或者你认为这个名称空间声明不应该仅仅依赖于文件夹结构吗?

就个人而言,我会将所有上述文件放在单个MyNamespace之下,因为它们都是彼此相关的。

回答

10

我认为ReSharper的建议很好。我认为按班级分类等等,而不是他们做什么是错误的。

类比是将文档分组到子文件夹Word,Excel等中,而不是按项目或某些其他功能分组。

4

请注意,ReSharper将“Namespace Provider”属性添加到项目中的每个文件夹。您可以将该属性设置为false,以用于要用于组织的文件夹,但不能对名称空间作出贡献。

+0

这是一个很好的机会,组织一个网站命名空间。 你的网站结构是固定的,你可以最终消除一个App_code.SomeFolderName resharper命名空间的建议。 – klashar 2009-08-13 19:41:22