重构,
1.是在不改变软件可观察行为的前提下改善其内部结构。
2.本质上说,重构就是在代码写好之后改进它的设计。
3.好的测试是重构的根本。
重构的一些优秀思想:
代码块越小,代码的功能就越容易管理,代码的处理和移动也就越轻松。
重构技术就是以微小的步伐修改程序,如果你犯下错误,很容易便可发现它。
好的代码应该清楚表达出自己的功能,变量名称是代码清晰的关键。
绝大多数情况下,函数应该放在它所使用的数据的所属对象内。
重构的目的是使软件更容易被理解和修改
何时重构
1.添加功能时重构 2.修补错误时重构 3.复审代码时重构
优秀程序
1.容易阅读, 2所有逻辑都只在唯一地点指定
3.新的改动不会危及现有行为 4尽可能简单表达条件逻辑
代码的坏味道
1.重复代码 。坏味道首当其冲的就是重复代码。
2.过长函数 ,拥有短函数的对象会活的比较好,比较长。
让小函数容易理解的真正关键在于一个好名字。
条件表达式和循环常常也是提炼的 信号。
3.过大的类 ,如果想利用单个类做太多的事情,其内往往会出现太多实例变量
4.过长参数列,
5.发散式变化,我们希望软件能更容易被修改。
6.散弹式修改
7.依恋情结
8.数据泥团 ,
9.基本类型偏执
10.switch惊悚显身,少用switch。用多态来代替它。
11.平行继承体系
12.冗赘类
13.夸夸其谈未来性
14.令人迷惑的暂时字段
15.过度耦合的消息链
16.中间人,
17.两个类过于亲密
18.异曲同工的类
19.不完美的库类,复用常被视为对象的终极目的。
20 纯稚的数据类
21.被拒绝的遗赠,
22.过多的注释