第二章 讲述重构的概念和重构原则
什么是重构/p>
不改变软件功能的前提下,对软件的重新设计,代码的重新编写或在已有基础上的改善。
重构的目的/p>
为了提高代码的可理解性,降低新老开发人员的学习难度、提升研发、维护阶段的开发效率,最终降低研发和维护成本。
比如,重构使功能职责划分明确,新增功能时,能够快速明确代码位置,合理利用已有功能方法,快速开发。
比如,重构使代码没有重复,出现BUG,只需要修改一处即可。
何时重构/p>
1.三次法则
新增功能时,修改BUG时,代码复审时(结对编程)
跟经理说:重构可以提升软件质量,提升研发效率
何时不该重构/p>
代码过于复杂,代码有bug或者不完善,项目接近后期
重构与设计的关系
重构和设计互补。先做出预先设计时,一般都会有一个明确的解决方案,然后编码,然后重构。没有明确的需求时,可以先进行重构,给出一个合理大概的解决方案,同时重构留下多个灵活点,以应对需求的变化,重构中所加入的灵活点一般都是比实际多的。
重构与性能
性能的要求和系统业务有关。有三种编写快速高性能软件的方法:1.时间预算法,对每一个组件都有严格的时间控制2.持续关注法,写任何代码的时候都要力求代码的高效,时刻优化,这种通常会浪费过多的时间在优化上。3.性能提升法,先不关注运行效率,进行实现,当最终结果不能满足需求时,进行效率提升。最好能有软件来监控各个步骤的时间,以快速明确最需要优化的代码块。
重构在当下会使开发速度变慢,但是长久之后就会体现价值,所以重构要尽早。
第三章 代码的坏味道
1.重复代码
2.命名模糊或歧义
3.冗长的方法
4.冗长的类
冗长的方法参数
5.类功能、职责混乱(依恋情结)
6.魔鬼数字
7.过多的嵌套
8.过多的分支
9.大量临时变量
发散式变化
10.散弹式修改
11.过度设计
12.过多注释
数据泥团(重复的数据项)
基本类型偏执(range取代两个基本类型的数字,总在一起的参数)
第四章 构筑测试用例
测试代码的作用:
1.修改代码后,能快速发现程序中的问题,预防大多数的异常情况,防止代码修改错误
写哪些测试用例:
1.以风险为驱动,编写用例
2.用例执行过程要尽量覆盖所有代码
3.用例要尽量互斥、简洁、完备(边缘测试、每个情况的测试)
来源:Janderbake
声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!