优化重构

2004 年 9 月 2 日

如果您对程序进行更改以提高其性能,这算作重构吗?

我认为优化和重构是两件不同的事情,即使它们经常使用相同的转换,并且您对程序进行的特定转换可能同时属于两者。

我认为它们不同的原因是它们有不同的目的。您进行重构是为了使代码更容易理解,您进行优化是为了使其运行得更快。引入变量(例如)可以出于任何目的进行,但根据您的操作方式,您主要是在进行其中一项或另一项。当您进行重构时,您正在考虑使代码更清晰。您判断它是否成功的依据是您对更改是否使程序更容易理解的(主观)评估。当您进行优化时,您正在考虑性能。您应该在更改前后使用分析器来确保您的优化确实提高了性能。如果情况对性能至关重要,您应该记录您的更改,以便在您的环境(编译器、VM 等)稍后发生变化时重新测试其有效性。

因此,尽管两者相似,并且共享许多转换,但我认为它们是不同的,因为它们的目的不同。