我一直认为代码重构只是改进了实现细节。我想确保我对重构所适用的范围有适当的理解(维基百科对我的理解并没有多大帮助)。
例如,我听到有人在谈论“重构他们的设计”,这似乎是矛盾的。当你修改某个东西的设计(重命名一个类中的公共方法,删除一个方法或其他类似的变化)时,这个(对我来说)被称为“重新设计”,而不是重构。
重构的常见范围是什么?是否真的可以重构设计?当我试图描述我正在做的重构工作时,了解这一点将真正有助于与同事沟通。
答案 0 :(得分:3)
重构可以应用于设计以及代码,当您使用系统的现有设计对其进行改进时,可以提高可读性,清晰度,或者更容易在将来
无论您是将重构应用于设计还是代码,这个想法都是一样的。您维护现有功能(不添加或删除系统功能),但最终会生成更容易使用的功能。
答案 1 :(得分:1)
我认为重构的范围取决于重构的目标。
我一直认为重构是改变代码而不改变它对使用它的人的最终结果(人,其他方法等)。我认为范围取决于您要解决的问题。如果你只想加快速度,那么你可以重构一个方法。但是,如果你已经积累了大量的“技术债务”,并且需要对程序进行重组以使其更具可扩展性,更易于阅读,更容易测试等等,那么您可能确实会重构整个设计。
事实上,我最近只是对我的设计做了一个巨大的重构,以便更容易添加其他功能。