减少参考有什么好处?

时间:2016-05-28 20:55:33

标签: c#

有什么区别:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System;
using System.Collections.Generic;

添加“太多”引用时是否真的会影响性能? 对于大型应用程序,通过删除无用的引用会有区别吗?

我的意思是,如果我使用“使用系统”,它似乎足以涵盖我的大部分要求,那么为什么我应该通过在系统参考下添加特定参考来具体?

由于

5 个答案:

答案 0 :(得分:2)

使用using包含名称空间,而不是引用程序集。

同样重要的是要尽可能具体,以避免命名冲突。请查看涵盖MSDN article

的基本命名空间

关于performance

答案 1 :(得分:2)

这是代码可读性的问题。是的,也许就在你编写代码时,你知道你没有使用System.Linq,因此它的存在并不会让你烦恼。毕竟,有一天你可以使用它,对吗?

但是有一天,其他人会阅读和维护你的代码,或者你会在之后足够长的时间忘记你所包含的内容,并且他们会(或者你会)追捕你的Linq调用中的一个错误,你对System.Linq的引用意味着该文件是为了使用Linq而构建的,这将浪费他们的时间。是的,可能只有一点时间,但有一点时间加起来很快。你做文件搜索" Linq"当你实际使用它5次时你得到1,000个结果?

永远不要参考您不使用的代码。当您决定使用它时,请参考它。每次你引用不必要的代码"因为也许有一天我可能会使用它,"将有五十次其他开发人员看到它并认为可能你使用过它。

答案 2 :(得分:2)

此问题已在herehere以及其他一些地方得到解答。

主要的一点是,它们对正在运行的应用程序没有性能影响,但它们会影响编译时间。这可能是最大的一个,可能会涉及“表现”。

也就是说,它可以保持您的代码清洁。对于您的个人项目而言,这可能很重要,只有您才能看到您的代码。但是,如果您处于专业环境中,其他人将不可避免地需要使用您的代码,不必要的使用可能会引起混淆,尤其是对于初级开发人员。

还有其他问题,我鼓励您阅读这些问题以便了解。

答案 3 :(得分:1)

包含更具体的“使用”引用的一个原因是使其余代码更简洁。它对应用程序的编译或性能没有任何影响。

包括未使用的引用虽然没有意义,但应该避免使用。

答案 4 :(得分:0)

当然,如果在代码中的任何地方都没有使用引用的汇编,则省略它们。 此外,编译中也省略了未使用的部分代码。 例如,如果你定义一个Int,设置它,但不要在任何地方使用它,它将从编译中省略。