核心:重构是在不改变软件可观察行为的前提下改善其内部结构。
为什么重构?
- 重构改进软件设计:如果没有重构,程序的设计会逐渐腐败变质
- 重构使软件更容易理解:重构的时候你需要研究一下代码
- 重构帮助找到bug:对代码的理解,可以帮助我找到bug
- 重构提高编程速度:良好的设计是快速开发的根本;添加新功能时,你不应该修改既有代码,只管添加新功能。
何时去重构?
-
重构应该随时随地进行。你不应该为重构而重构,你之所以重构,是因为你想做别的什么事,而重构可以帮助你把那些事做好。
-
如果你发现自己需要为程序添加一个特性,而代码结构使你无法很方便地达成目的,那就先重构那个程序,使特性的添加比较容易进行,然后再添加特性。
-
事不过三,三则重构。
重构的难题
- 事前设计总没办法尽善尽美
请将这种方法与“小心翼翼的事前设计”做个比较。推测性设计总是试图在任何一行代码诞生之前就先让系统拥有所有优秀质量,然后程序员将代码塞进这个强健的骨架中就行了。这个过程的问题在于:太容易猜错。如果运用重构,你就永远不会面临全盘错误的危险。程序自始至终都能保持一致的行为,而你又有机会为程序添加更多价值不菲的质量。
网友评论