有没有办法预测什么重构为汇编,以实现.NET编译器构建性能的最大提升?

时间:2011-03-03 01:14:41

标签: .net compiler-construction refactoring build-process profiler

假设项目的构建时间花了很长时间。所以,我想计划一个重构项目,将它的一些部分作为单独的程序集来避免重新编译。现在,有很多事情我可以尝试重构,所以最好找出那些能让我减少最多构建时间的模块。

那我该怎么做?我可以根据粗略的人类可数指标(如行数或方法)进行预测吗?或者我可以使用某种类型的分析器来编译编译器,以便在处理各种模块时测量编译器的速度,甚至可以做出关于哪些模块最需要重构的主要声明/建议?

1 个答案:

答案 0 :(得分:1)

我不会太担心构建时间本身。如果项目构建时间花了这么长时间,如果减少单个程序集的大小会有所帮助,那么这可能意味着你在一个程序集中有太多不相关的类。

我会先重构你的课程,以确保他们有一个单一的责任。我还要确保您的班级和班级成员尽可能使用最低限度的访问权限 - 不要将所有班级public都设为public并且不要让所有成员protected或{{1}}

接下来,尝试找出哪些公共类是相关的。如果您已恰当地命名它们,那么您应该能够根据类的名称执行此操作。

考虑每组相关类一次组装的可能性。希望每个这样的程序集都包含主要相互引用的类。其他程序集会有一些依赖关系。您必须清楚哪些新程序集确实需要访问哪些程序集。

使用ReSharper(或其他此类工具)可以使此过程变得切实可行。