05《重构:改善既有代码的设计》阅读笔记
《重构:改善既有代码的设计》阅读笔记
一、书籍简介
《重构:改善既有代码的设计》(Refactoring: Improving the Design of Existing Code)由Martin Fowler所著,是重构领域的经典著作。本书系统地介绍了重构的原则、模式和实践方法。
二、核心概念
1. 什么是重构?
重构是在不改变代码外部行为的前提下,对代码内部结构进行调整,以提高其可读性、可维护性和可扩展性。
2. 重构的目的
- 提高代码可读性:使代码更易于理解
- 降低代码复杂度:简化代码结构
- 消除重复代码:提高代码复用性
- 为新功能做准备:使代码更容易扩展
3. 何时需要重构?
- 代码出现坏味道时
- 添加新功能之前
- 修复bug之后
- 代码审查期间
三、常见的代码坏味道
1. 重复代码(Duplicate Code)
相同或相似的代码出现在多个地方。
2. 过长方法(Long Method)
方法代码过多,难以理解和维护。
3. 过大类(Large Class)
类承担了过多的职责。
4. 过长参数列表(Long Parameter List)
方法参数过多,难以使用。
5. 发散式变化(Divergent Change)
一个类因为不同的原因被修改。
6. 霰弹式修改(Shotgun Surgery)
修改一处需要改动多个地方。
四、常用重构技术
基础重构
- 提取方法(Extract Method)
- 内联方法(Inline Method)
- 重命名(Rename)
- 引入参数对象(Introduce Parameter Object)
面向对象重构
- 提取类(Extract Class)
- 提炼接口(Extract Interface)
- 向上提升(Pull Up)
- 向下推送(Push Down)
数据重构
- 封装字段(Encapsulate Field)
- 引入断言(Introduce Assertion)
五、重构原则
- 先写测试:确保重构不会破坏现有功能
- 小步快跑:每次只做一个小的改动
- 持续集成:及时发现问题
- 保持代码可运行:重构过程中代码始终可编译通过
六、实践体会
重构是一项需要耐心和技巧的工作。在实际项目中,我会:
- 定期进行代码审查,识别坏味道
- 制定重构计划,逐步改进
- 利用自动化测试保障重构安全
- 培养团队的重构意识
阅读日期:2025年2月
阅读时长:2周
推荐指数:★★★★★
浙公网安备 33010602011771号