1.什么是重构
重构(名词):对软件内部结构的一种调整,目的是在不改变【软件之可察行为】前提下,提高其可理解性,降低其修改成本。
重构(动词):使用一系列重构准则(手法),在不改变【软件之可察行为】前提下,调整其结构。
两顶帽子:添加新功能和重构
2.为何重构
改进软件设计 有目的性地整理修改代码结构 消除重复代码(Duplicate Code)
使软件更易被理解
助你找到臭虫
助你提高编程速度
3.何时重构
1)三次法则 第一次做某件事时只管去做,第二次做类似的事会产生反感,但无论如何还是做了;第三次再做类似的事,你就应该重构。
事不过三,三则重构(Three strikes and you refactor)
2)添加功能时一并重构
3)修补错误时一并重构
4)复审代码时一并重构
5.重构的难题
数据库
修改接口(不要过早发布接口。请修改你的代码拥有权政策,使重构更顺畅)
何时不该重构(代码是在太乱,重构还不如重写一个;项目已近最后期限,没时间了,其实早就该重构了)
6.重构与性能
8.重构起源何处
后面几节还没仔细看