《重构:改善既有代码的设计》阅读笔记三

为啥要重构

何为重构:重构就是对软件内部结构的一种调整,目的是不改变软件可观察行为的前提下,提高其可理解性,降低其可修改成本。太专业的解释了。我下个通俗的定义吧:重构是优化代码结构,使其阅读性更好,扩展性更强的一种高级技术

软件开发中,随着功能的加入,程序将慢慢失去原来的结构。有些人贸然加入功能的实现代码,但却没有理解原来程序的结构和考虑代码的扩展性,程序的可读性也非常低,随着代码数量越来越多,如果不进行重构的话,程序就会越来越难以维护,导致最后放弃这个程序。我们需要重构让程序避免这样的结果。

我觉得本书中有句话特别好程序是首先写给人看的,其次才是写给机器看,我们写程序不可能刚开始就会有这样很好的结构,在写的过程中我们需要对代码进行重构让其走上这样的道路,代码越来越能看的懂,将来接手维护这个程序的人也会上手更快。

书中列举了大量的不好的代码情况,这些不好的情况我编程中都应该去避免一个函数也不应该太长,如果太长首先影响理解,其次包含的步骤太多会影响函数复用。做法是将里面的步骤提取为很多小函数,并且函数命名要体现出函数做了什么,清晰明了。每一个方法应该放在她最适合的位置,不能随便乱放,所以很多时候你需要考虑,一个方法在这里是不是最适合的。

将不属于这个类中的字段和方法提取到一个新的类中。所以说在你写代码的时候一定要考虑这句话放这里是不是合适,有没有其他更合适的地方?有时候每一个子类都有声明一个字段或方法,但是父类里面却没有这个字段或方法,这时候就考虑把这个字段或方法移动到父类里面,去除子类的这个字段和方法。相反情况,如果父类有一个字段或方法,但只是某个子类需要使用,就需要考虑吧这个字段或方法移动到这个特定的子类里面了。

 

posted @   ZZKZS  阅读(92)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
/*鼠标跟随效果*/
点击右上角即可分享
微信分享提示