重构-改善既有代码的设计(1)

来源:互联网 发布:网络连接4007 编辑:程序博客网 时间:2024/05/22 01:36

这段时间一直在看《重构-改善既有代码的设计》,综合了一些个人理解,特与大家分享,共勉!

第一章 重构,第一个案例

什么是重构?所谓重构(refactoring)是这样一个过程:在不改变代码行为的前提下,对代码做出修改,以改变程序的内部结构。

重构需要依赖测试,好的测试是重构的根本。

一个类可以在它的生命周期之内修改它的子类,但一个对象不可以在它的生命周期之内修改它的子类。

利用State模式,用多态来取代switch语句。

第二章 重构原则

什么是重构?重构(名词):对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其理解性,降低其修改成本。

什么是重构?重构(动词):使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构。

上述两个概念,不管是名词还是动词,其实有两个根本点是不变的。一是前提:不改变软件可观察行为,也就是对客户来说,不管你有没有重构,软件好像根本没有发生任何变化;二是手段:是对软件内部的结构的一种调整;三是目的:重构的目的是让软件更容易被理解和修改。

重构与性能优化比较:两者都是在不改变组件的行为下,调整其内部结构。但两者出发点不同,结果也不同。性能优化往往使代码更难理解。

为何重构?重构帮助改进软件设计;使软件更容易被理解;帮助找到BUG;提高编程速度。

何时重构?添加功能时重构;修补错误时重构;复审代码时重构(引出了极限编程中的结对编程思想)

重构的难题?数据库;修改接口--保留旧接口,新接口调用旧接口;难以通过重构手法完成的设计改动。

何时不该重构?当项目接近最后期限时,你不应该分心去重构。但这往往表明,你的代码早就应该重构了。

重构与设计:有了重构,可以让你在设计阶段不用那么亚历山大,你的预先设计可以不一定是完全正确的,因为随着你的编码进行,你对系统越来越熟悉,你可以回过头来通过重构改善你的设计。

编写快速软件的秘密:首先写出可调的软件,然后调整它来获取足够的速度。

0 0
原创粉丝点击