前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >阅读《重构的时机和方法》这本书所带来的感悟

阅读《重构的时机和方法》这本书所带来的感悟

原创
作者头像
三掌柜
发布2023-11-01 19:36:22
4370
发布2023-11-01 19:36:22
举报
文章被收录于专栏:三掌柜的技术空间

引言

近期,我阅读了由克里斯蒂安·克劳森(Christian Clausen)写的、由郭涛翻译的《重构的时机和方法》这本书,读完这本书的内容你会发现《重构的时机和方法》是一本经典的软件开发书籍,它能够帮助软件开发人员提高代码质量和工作效率,作为程序员的我觉得这本书对我很有帮助,有了很多收获和感悟,接下来本文就来简单分享一下。

读书心得

通过读完《重构的时机和方法》这本书, 我认为它最重要的贡献在于它非常清楚地阐述了重构的概念和原则。书中提到,重构是指在不改变软件系统外部行为的情况下,改善其内部结构的过程。这个定义非常精确,也非常实用。在实际的软件开发中,我们经常会遇到代码冗余、复杂度过高、不良设计等问题,这些问题会严重影响代码的可读性、可维护性和可扩展性。通过重构,我们可以有效地解决这些问题,使得代码更易于理解、修改和扩展。此外,书中还介绍了一些重要的设计原则,例如单一职责原则、开闭原则、里氏替换原则等,这些原则可以帮助我们设计出更加优秀的软件系统。

而且,《重构的时机和方法》这本书非常详细地介绍了重构的时机和方法。作者提出了一些情况,例如:代码难以理解、修改困难、添加新特性需要大量修改等,这些情况表明代码需要进行重构。此外,作者还提到了重构的两种模式:预防性重构和修补性重构。预防性重构是在代码还没有出现问题之前进行的重构,目的是为了避免未来的问题。而修补性重构是在代码已经出现问题之后进行的重构,目的是为了解决已经存在的问题。通过这些介绍,读者可以了解到何时需要进行重构,并且学会了如何在适当的时间和方法下进行重构。

还有,这本书详细介绍了重构的基本技术。这些技术包括:提取方法、内联方法、提取变量、内联变量、移动方法、添置方法、移动字段、封装字段、以及替换算法等。这些技术都是非常实用的,可以帮助我们快速地改善代码质量。例如,提取方法可以帮助我们将重复的代码封装到一个方法中,提高代码的可读性和可维护性;移动方法可以帮助我们将方法移动到更合适的位置,使得代码更加清晰和易于理解。

以及,这本书介绍了如何使用测试来支持重构。测试是支持重构的重要手段,因为它可以帮助我们验证重构后的代码是否仍然符合原来的需求。作者提出了一些测试技术,例如:单元测试、集成测试、回归测试等。同时,作者还介绍了如何使用代码覆盖率工具来检查测试覆盖率。通过本书的介绍,读者可以学会如何使用测试来支持重构,并且如何使用代码覆盖率工具来检查测试覆盖率。

另外,这本书介绍了如何进行大规模重构。大规模重构是指对整个软件系统进行的重构,这是一项具有挑战性的任务。作者提出了一些策略,例如:先进行小规模重构、使用模式来指导重构、使用自动化工具等。这些策略可以帮助我们有效地进行大规模重构。

最后,我认为本书的优点之一是非常实用。作者提供了大量的示例和练习,让读者能够通过实际操作来学习重构技术。此外,本书还介绍了一些常见的反模式(anti-patterns),这些反模式会导致代码的低质量和低效率,读者可以通过了解这些反模式来避免在开发过程中犯同样的错误。

附:《重构的时机和方法》的详情及目录

这里顺便分享一下《重构的时机和方法》这本书的详细信息以及目录。《重构的时机和方法》的核心目录如下所示:

第Ⅰ部分 通过重构电脑游戏来学习

第1章 重构

第2章 重构的内部原理

第3章 拆分长函数

第4章 让类型代码发挥作用

第5章 将类似的代码融合在一起

第6章 保护数据

第Ⅱ部分 学以致用

第7章 与编译器协作

第8章 远离注释

第9章 喜欢删除代码

第10章 永远不要害怕添加代码

第11章 遵循代码中的结构

第12章 避免优化和通用性

最后

总体来看,我个人认为《重构的时机和方法》是一本非常好的软件开发书籍,它详细介绍了重构的概念、原则、时机、方法和技术,让读者能够全面地了解重构的过程和实践。在实际的软件开发中,我们应该根据具体情况选择适当的时机和方法进行重构。重构不仅可以帮助我们提高代码质量,还可以帮助我们改进设计,使得软件系统更加稳定、可靠、易于维护和扩展。此外,本书还提供了大量的实例和练习,让读者能够通过实践来学习重构技术。如果您是一名软件开发人员,或者对软件开发感兴趣,我强烈推荐您阅读这本书。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 读书心得
  • 附:《重构的时机和方法》的详情及目录
  • 最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档