在C#中维护使用指令的“干净”列表有什么好处?

时间:2008-10-24 21:02:23

标签: c# visual-studio resharper using

我知道VS2008具有删除和排序功能,可以使用指令进行清理,Resharper也是如此。除了你的代码是“干净的”并消除引用未来可能不存在的命名空间的问题,维护使用指令的“干净”列表有什么好处?

少代码? 编译时间更快?

8 个答案:

答案 0 :(得分:18)

如果你总是只有你需要的using指令,并且总是对它们进行适当的排序,那么当你来区分两个版本的代码时,你将永远不会看到无关的变化。

此外,如果你有一套简洁的使用指令,那么任何查看代码的人都可以通过查看using指令来了解将要使用的内容。粗略。 / p>

答案 1 :(得分:10)

对我来说,这基本上就是减少噪音(再加上Resharper快乐!)。

我相信编译时间的任何改进都会很小。

答案 2 :(得分:7)

没有运行时影响。这纯粹是编译时间。它可能会影响以下内容:

  1. 更少发生命名空间冲突的可能性
  2. 代码文件中的“噪音”较少
  3. 非常明确地指出文件中的命名空间和可能的类型
  4. 使用菜单删除未使用的和排序意味着在开发人员之间使用语句更加一致。愚蠢检查的可能性更小,只是为了解决问题。

答案 3 :(得分:7)

  1. 减少噪音。
  2. 明确期望使用什么类型(“我的UI层依赖于System.Net。哇,为什么?”)
  3. 清洁参考:如果您拥有最小的using语句集,则可以清理引用。我经常看到开发人员只是继续将引用投入到他们的项目中,但是当他们不再需要时他们永远不会删除它们。如果您没有任何实际需要引用的内容(以及using语句计数),那么清理引用就变得微不足道了。 (为什么要这样做?在已经分解为组件的大型系统中,它将通过消除未使用的deps来简化构建依赖性。)

答案 4 :(得分:2)

对我来说,一开始就使用清晰的使用语句列表可以很好地理解期望的类型。

答案 5 :(得分:2)

几年前,当我第一次安装ReSharper(18项目解决方案)时,我看到了编译时间的不错增长。从那以后它只是保持清洁。

答案 6 :(得分:0)

我无法谈论编译时间和性能方面的好处,但如果您最小化使用声明,则命名空间冲突的可能性会降低。如果您使用多个第三方库,这一点尤其重要。

答案 7 :(得分:0)

存在一个编译时差异:当您删除引用但代码中仍然有using指令时,则会出现编译错误。因此,使用一个干净的using指令列表可以更容易地删除未使用的引用。

通常编译器会删除未使用的引用,但我不知道代码中使用时是否有效。