《重构》摘要
1. 为何重构?
(1)改进软件设计。
(2)使软件更易被理解。
(3)帮助你找到bug。
(4)帮助你提高编程速度。
?
2. 何时重构?
(1)添加功能时。
(2)修补错误时。
(3)复审代码时。
?
3. 何时不该重构?
(1)现有代码根本不能正常运作,需要重写。
(2)如果项目已近最后期限,应该避免重构。
?
4. 性能优化
(1)时间预算法。
(2)持续关切法。
(3)利用统计数据,应该去真正的测量,而不是猜测。
?
5. 代码的坏味道
(1)Duplicated code(重复的代码)
(2)Long method(过长的函数)
(3)Large class(过大的类)
(4)Long parameter list(过长参数列)
(5)Divergent change(发散式变化)
(6)Shotgun Surgery(散弹式修改)
(7)Feature envy(依恋情结)
(8)Data clumps(数据泥团)
(9)Primitive Obsession(基本型别偏执)
(10)Switch statments(switch 惊悚现身)
(11)Parallel inheritance hierarchies(平行继承体系)