【问题标题】:What are the consequences of having (too) many namespaces?拥有(太多)命名空间的后果是什么?
【发布时间】:2011-01-04 23:12:55
【问题描述】:

我在一个项目上运行代码分析,我收到一个警告说

CA1020:Microsoft.Design:考虑将 {some namespace} 中定义的类型与另一个命名空间合并。 {一些命名空间}

为什么我会得到这个?命名空间过多是否有负面影响?

【问题讨论】:

  • 我对这个警告的问题是代码分析没有考虑到我有 20 个其他 Visual Studio 解决方案也在同一命名空间中创建类。所以对我来说,这通常是一个“误报”,我只是在我的自定义规则集中压制了它。

标签: c# namespaces code-analysis


【解决方案1】:

我认为主要原因是可发现性,并相信这在成功支持和维护您的代码方面发挥了重要作用。如果更容易发现它应该更容易维护。

这是来自MSDN 的引用。

命名空间应该 包含一起使用的类型 在大多数情况下。当他们 应用程序是互斥的, 类型应位于单独的 命名空间。谨慎的命名空间 组织也有帮助 因为它增加了 特征的可发现性。经过 检查命名空间层次结构, 图书馆消费者应该能够 找到实现 a 的类型 功能

【讨论】:

    【解决方案2】:

    就增加内存或执行时间而言,在运行时没有真正的负面影响。此外,命名空间不像 IP 地址,它有一个固定的池,最终会用完。

    命名空间基本上是一种命名约定,可帮助您将相关事物组合在一起。 CA 错误表明过多的小命名空间可能会使您的代码更难被其他人使用。

    【讨论】:

      猜你喜欢
      • 2010-09-14
      • 2011-03-23
      • 2020-10-18
      • 1970-01-01
      • 2014-10-18
      • 2013-10-16
      相关资源
      最近更新 更多