Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在c语言中,当引用未被使用的名称空间时,是否存在编译惩罚?_C#_Visual Studio_Compilation_Namespaces - Fatal编程技术网

C# 在c语言中,当引用未被使用的名称空间时,是否存在编译惩罚?

C# 在c语言中,当引用未被使用的名称空间时,是否存在编译惩罚?,c#,visual-studio,compilation,namespaces,C#,Visual Studio,Compilation,Namespaces,最近,我的同事一直在进行一场圣战,反对排队。当我签入一个新文件时,我通常会保留VisualStudio包含的所有引用名称空间,默认情况下System、System.Collections.Generic和System.Linq是我几乎总是依赖的专业。几天后,我的同事将回顾diff,看看我是否实际使用了.Linq名称空间中的任何函数,他将剪辑它。几天后,当我回到该文件并希望添加一些依赖于(例如,.Select)的功能时,当我看到名称空间已消失且必须将其重新添加时,我的血压会急剧上升 我的问题是:除

最近,我的同事一直在进行一场圣战,反对排队。当我签入一个新文件时,我通常会保留VisualStudio包含的所有引用名称空间,默认情况下System、System.Collections.Generic和System.Linq是我几乎总是依赖的专业。几天后,我的同事将回顾diff,看看我是否实际使用了.Linq名称空间中的任何函数,他将剪辑它。几天后,当我回到该文件并希望添加一些依赖于(例如,.Select)的功能时,当我看到名称空间已消失且必须将其重新添加时,我的血压会急剧上升


我的问题是:除了减少项目的行数或源文件的大小之外,裁剪这些未使用的名称空间还有什么实际的好处吗?NET编译器的分析能力是否太差,以至于未使用的名称空间会导致输出的程序集受到惩罚?如果他追求这种疯狂是对的,我会接受它作为一个教训。。。我只是无法想象有任何理智的理由。对我来说,这似乎只是一种愚蠢的疯狂。

与花在搜索和剪辑上的时间相比,绝对没有任何好处,尽管VS可以选择进行清洁。除了编译时的好处和干净的编码之外,没有其他主要的好处

有关更多信息:


不会像你猜的那样有任何性能提升,但是删除不必要的使用是为了保持代码干净、整洁和可读性

编译器将只使用我们在代码中使用的必需的和相关的程序集


使用visual studio的“删除未使用的usings”命令并删除未使用的名称空间,以使您的代码更精简,并可供其他开发人员阅读。

整理名称空间没有坏处,但它不会提供任何性能提升。另外,您的同事可能会喜欢Resharper。它将显示哪些引用未被使用,只需单击一下,即可将其删除。但正如其他人所指出的那样。绝对是愚蠢的疯狂。作为一个次要的观点,intellisense将填满包含程序集中的项目-如果未使用的包含数量失控,这可能会让一些人感到恼火。将同事的小时工资乘以此练习所浪费的小时数。然后将其与此练习为您的公司产生的额外利润进行比较。哪个数字大?在我看来,您的同事似乎没有足够的时间从事能够产生利润的工作。View.ShowSmartTag是您的朋友。感谢您指出重复项-在我提交时没有出现在可能的匹配项中。不幸的是,答案是,这是一把双刃剑。我可以告诉他,他并没有真正获得性能提升,但他可以回答说,我并没有提高可读性。我讨厌答案不能让我成为无可争议的胜利者@NateKennedy可读性>性能增益。而且知道使用ReSharper只需单击一次就可以清理它们,没有理由不这样做。