看完《重构-改善既有代码的设计》一书,心里激起了点涟漪,既感觉有那么点感觉在以后的代码中小试牛刀,又感觉好些东西虽然看过了,可实际使用时还是会遇上莫名的问题的。没看之前头脑是清晰的,看了后反而头大了,不知所云……
既然头大,那我就慢慢梳理一下吧!
重构一共十五章:
第一章:重构,第一个案例
本章开始引入重构,用一个案例让我们尝试一点点甜头,然后对重构起一个总纲的作用,涉及到后边章节中的一些重构手法;重点讲了什么时候重构,如何重构,重构的步骤,重构时需要的准备工作,重构手法,重构技术等等。
本章总结:以微小的步伐修改程序,每修改一处并及时测试,是否有所改变,若改变则立刻回到上一步检查,因为重构的本质是不改变功能的任何变化,只改变阅读效果。
第二章:重构原则
本章讲了重构的定义,重构的原则,重构目的以及何时重构。我分别把两个不同方式定义列出:
(1)重构定义-名次形式:对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低修改成本。
(2)重构定义-动词形式:使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构。
接下来我对性能优化和重构的区别谈谈:
性能优化:目的是提高性能,代码往往不易理解,但为了性能不得不这样做;
重构 :使代码易被理解,易被修改,但软件功能一如既往。
重构遵守原则:
(1)加新功能则不重构;
(2)重构时不加新功能。
第三章:代码坏味道(重要章节)
本章重点谈了常见的22个坏味道的地方,同时给出了22种解决方案来一一解决这些问题,相当于22把铡刀,为重构能顺利进行剔除了障碍,有了他们的护航,我们会更加自信的去做这些事,而且知道怎么做,用什么去做,对号入座,具体每一个方法不一一列出,请直接看书会更精彩。
第四章:构筑测试体系
本章重点谈了要能顺利并很好的进行重构,必须有一个好的测试作为保障,否则重构后的功能面目全非,南辕北辙,这偏离了我们的本意。
构筑一套测试体系就是一个强大的bug侦测器,能够大大缩减查找bug所需的时间。
严格要求:一步一测试。
第五章:重构列表
本章重点介绍了重构时如何进行记录列表,如何寻找引用点,如何运用重构手法进行重构。
第六章:重新组织函数(重要章节)
本章是在第三章的基础上再次对重构手法深入学习,运用了9个重构手法对函数进行重组,每一个手法都足以让你一醉不醒,强烈建议去看书,此处只做概论不细说,这里也算是9把铡刀,而且会更锋利。
第七章:在对象之间搬移特性(重要章节)
本章重点对字段、函数,类等一些处理方式,使用了8个重构手法针对对象之间的特性进行处理,其中每一个手法都会让你眼前一亮,绝对高大上,重点是搬移那些不该出现在不该出现的地方的对象,通过这8把铡刀,足以让他们生活属于自己的领地领空,要知道,当今的领域管理很严格,去到不该去的地方,小心×××把你给毁了。
第八章:重新组织数据(重要章节)
本章主要是规范数据,尤其对哪些魔法数恨之入骨,所以编码时尤其小心。针对数据采用了16个手法进行处理,细看后会让你扑朔迷离,真有一如重构深似海的感觉。
对魔法数解释一下,我刚开始看的时候我也不知道是什么意思。
魔法数:即指带有特殊含义的数字。指哪些在代码中直接使用的数字,此时遇上这种,解决方式就是用一个常量去替换掉,比如3.1415926
本章的很多重构手法需要好好研究,其中Replace Type code with subclasses(以子类取代类型编码),Replace Type code with state/strategy(以state/strategy取代类型码)等。
硬编码值:只固定值,比如常量,1,0 等。
第九章:简化条件表达式(重要章节)
本章用8个手法对不同的表达式进行处理,优化的表达式的逻辑结构,比较核心的如Replace Conditional with Polymorphism(以多态取代条件表达式),好好研究,受益无穷。
第十章:简化函数调用(重要章节)
本章核心是规范函数的名称,分离函数的逻辑与表示层,对函数的增减参数的处理,封装转型,异常处理等等,总共用了15个手法,让你对函数的使用提高一个高度,从此对函数的每一个参数,字段,名称不再持无所谓态度,有此良好的风格,得益于这15把铡刀的艺术修剪,此刻你已不能自拔。
第十一章:处理概括关系(重要章节)
先解释一下什么叫概括:所谓概括关系即继承关系。
本章用12个手法将类与类之间的关系处理得相当好,犹如管理后宫一般,将每个类的职责划分得清清楚楚,有倒是增一分嫌多,减一分嫌少。根据类的职责将字段,方法移到他们该去的地方,将复杂的类提炼出独立的功能,如此减轻了类的负担,也使类能益年长寿。
第十二章:大型重构
本章总概了所有的重构手法,利用最后4张王牌为所有的重构的使用埋下伏笔,这四个重构手法可理解为道,而前几张手法理解为术,这是一种升华之象,融会贯通才是上上之策,此处的每一个手法可让你无法回头,细细品味吧。
第十三章:重构,复用与现实
本章轻描淡写的谈了作者的经验,在开发中实际遇上的问题,对重构再次加深印象,告诉你重构的本性,何时重构,何时开始,何时停止,何时前进,何时等待,只有敢于停止时就得道了。
第十四章:重构工具
本章对重构工具介绍和使用。
第十五章:总结
本章对重构高度总结,即给你鼓励也给你警示,总之一句话,何时得道,是在你停止重构时得道,重构漫漫,多少人能从中自拔,只见风飘飘兮易水寒,码农一去兮不复返。
重构一书到处结束,个中滋味只有君读完才能体会,有时波涛汹涌、激情澎湃,有时万念俱灰,可每当停步时,我们总坚信,黎明的曙光就在前面,愿君伴之。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。