添加功能时, 不应该修改与功能无关的代码, 只管添加功能和通过测试
重构时, 不应该添加新功能, 只应该专注于改进程序的结构
2.2 为何重构
软件开发之中, 代码不可避免地会越来越乱, 如果永远只是为了短期利益修改代码...重构就像是整理代码, 不断提炼代码的意图, 帮助维持代码的形态
改进设计的重要方向就是减少重复的代码, 方便未来对代码的修改
重构模式编程的核心就是理解代码, 然后修改代码, 让代码本身更好地表达出我们的理解...3 代码的坏味道
3.1 重复代码
如果项目内多个地方看到了相同的代码, 那就想办法将其合为一
3.2 过长函数
多对大函数进行分解, 每当需要长注释的时候就应该将所需的分段进行包装了, 有时候替换后的函数只包含一行代码也没关系...这个重构要注意不要引发副作用且要保证语义的完整性和可读性
9.3 合并重复的条件片段
一组条件表达式中都出现了相同的代码, 那么将这段代码包装好并提炼到条件式外面
9.4 移除控制标记
尽量用break...编译器能自动将子类上转型, 所以设计得当后无须提供上转型函数
10.14 以异常取代错误码
这个重构和执行效率有冲突, 其余没什么特别的
10.15 以测试取代异常
如果某个异常调用者自己就可以避免的话