2014-12-05 29 views
2

我一直在运行作为理所当然的事情,删除并排序使用,因为它看起来是正确的事情。 但是现在我开始想知道:为什么我们要这样做?移除和/或分类Usings的价值是什么?

当然,清洁&紧凑型代码总是有好处的。 如果MS花时间将它作为VS中的菜单项,那么必定会有一些好处。

任何人都可以回答:为什么要这样做? 删除和/或排序使用的编译时或运行时(或其他)好处是什么?

+4

没有运行时间的好处。编译时可以忽略的好处。这都是关于可读性的。 – 2014-12-05 18:57:30

回答

1

正如@ craig-w提到的那样,编译时间的性能改进非常小。

编译器的工作方式是当它遇到一个类型时,它在当前命名空间中查找,然后开始搜索每个命名空间,并使用using指令按照呈现的顺序搜索,直到找到它正在查找的类型。

有由Jeffrey Richter的一个很好的书面记录在这本书CLR通过C#http://www.amazon.com/CLR-via-4th-Developer-Reference/dp/0735667454/ref=sr_1_1?ie=UTF8&qid=1417806042&sr=8-1&keywords=clr+via+c%23

至于为什么MS提供的菜单选项,我会想象足够的内部开发人员要求它为同样的原因,你提到:更简洁,更简洁的代码。

0

在编译过程中,可能会有一个小小的(即极小的/几乎不可测量的)性能改进,因为它不必搜索名称空间,而实际上它并未用于非限定类型。我这样做是因为它最终更简洁易读。另外,我使用Productivity Power Tools并让他们在保存文件时设置为移除和排序。