我们或多或少知道一些重构的方法,比如重复逻辑封装成函数里提供各地方来调用者,但你是否有总结过呢?《重构》这本书就是总结收集了100多个重构的方法,一部分可能是你平常就有在用的,更多的是你未接触过。
身为程序员的你是否有过这样的场景:每次都觉得自己的代码写的很烂,发誓下次一定把代码写好,命名写好,但是下一次还是这样,总是希望把代码写好,但是总有些力不从心,这个时候你就应该看看这本书了--《重构》。
本书提供了近百个重构代码的方法,有小到给函数改名,大到继承、模版的使用,都是一些实用看完可以立马上手的技巧。纯纯的干货。
本书结构分为下面几个方面:
1、介绍糟糕代码的坏味道和相应的重构法则:比如重复代码,
* 比如重复代码,我们都知道对于重复代码就应该封装成函数除了这种方法是否还有其他的技巧呢,再比如过长的函数,进行分解;
2、重新组织函数
函数,可以说是构成大型代码的基础单元,如果你能把每个函数都写好,那么整体的代码逻辑和层次就会清晰,提炼函数或者废除不必要函数,进行提炼和精简函数,函数里面临时变量过多,这时候应该用以查询函数替代,分解临时变量或者移除对参数的赋值,最后看能否对算法进行改进。
3、在对象之间搬移特性
把操作封装到类里面,相信大多数程序员都会,但是你确定你的函数和字段放到合适的对象里面了吗?类往往会因为承担过多责任而变得臃肿不堪,这时候应该要考虑提炼成多个类了,隐藏类的委托关系,或者必要时刻应该移除中间人。
4、重新组织数据
简单来说就是把数据封装到类里面管理,封装字段,对字段设置取/设函数,或者把数据封装成对象。或者以对象取代数组
5、简化条件表达式
把条件表达式下面的逻辑提炼出独立函数,增强可读性,突出逻辑;合并表达式,有多个表达式返回一样的结果,那么不妨把它们合并起来;每个分支都有相同的一段代码,为什么不放到条件表达式之外呢?是否有遇到带flag标志位的循环不妨改用break或return试试吧。条件表达式中最讨厌的莫过于嵌套了,多层嵌套,这时候应该使用卫语句来拯救了。如果多个条件表达式不可避免,这时要使用高级重构方法多态来实现了。
6、简化函数调用
函数重命名,增加减少参数,将查询和修改函数分离,如果函数名里面有and的话是时候拆分成两个了,用明确函数取代参数,传递整个完整对象
7、处理概括关系
继承父类和子类,数据怎么处理,字段或者函数上移或下移,提炼子类或超类,提炼接口
重构的方法很多,也都很实用,赶紧看看吧。