重构-改善既有代码的设计 总结

重构笔记

写这篇文章的目的:
最近读书总是一掠而过, 很少做笔记和总结.有些惭愧, 趁着最近空闲, 把曾经读过不错的技术书做一些适当的总结.
也算加深下自己的印象, 本文是对《重构 改善既有代码的设计》的一个总结, 并会添加一些前端的思考

定义

重构是在不改变软件可观察行为的前提下改善其内部结构

原则

What

对软件内部结构的一种调整, 目的是在不改变软件可观察行为的前提下, 提高其可理解性, 降低其修改成本

Why

重构不是”银弹”, 但他可以帮你始终良好的控制自己的代码, 他可以用于以下几个目的

When

重构不需要特定拨出时间来做, 他应该是随时的

何时不该重构?

需要重写时(代码无法工作
项目期限受限

重构与设计

重构是与设计互补的
重构无法取代设计, 但可以减少预先设计的压力

代码的坏味道

构筑测试体系

重构首要的前提是拥有一个可靠的测试环境

重构列表

每个重构手法包含下面五个部分

重构手法

重新组织函数

let _numOfLateDeliveries;
let moreThanFiveLateDeliveries = () => _numOfLateDeliveries > 5;
let getRating = () => moreThanFiveLateDeliveries() ? 2 : 1;

// ↓
let getRating2 = _numOfLateDeliveries > 5 ? 2 : 1;
有时函数内部代码和函数名称同样清晰易读, 如此便可去除此函数, 直接使用内部代码

未完待续…