首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >《重构》第三章 - 读后感(异曲同工、不完美类库、纯数据类、被拒绝的馈赠、过多的注释)

《重构》第三章 - 读后感(异曲同工、不完美类库、纯数据类、被拒绝的馈赠、过多的注释)

作者头像
写一点笔记
发布2022-08-11 15:48:05
发布2022-08-11 15:48:05
5270
举报
文章被收录于专栏:程序员备忘录程序员备忘录

今天主要将第三章剩余的部分进行一个总结,之后我们就要好好读一下《重构》的第六和七章。第三章从文字的角度上描述了我们代码可能存在的问题。而第六七章则是通过示例来演示如何去进行代码重构的,所以对于我们来说第六和第七章就是正真的东西。所以要好好学,但是书中的示例代码我就可能就不会抄过来了,我可能会采用图片的方式进行展示。作者觉得六七章的重点在于感悟,就和古诗词一样。

异曲同工的类

文中对该类的定义为两个函数做同一件事,却有不同的签名。也就使用不同的名称的函数但是做相同的事情的类或者方法,那么就应该进行重命名。除此之外要将函数或者行为移入到其领域范围内的类中。如果确实需要这种重复的函数,那么书中建议采用继承的方式。

不完美的库类

库类存在的意义就是复用,这句话的没有丝毫问题。但是如果库函数不能兼容我们自己的代码,这时候就需要我们进行一些修改,但是因为是库代码我们无法修改。对于这种问题,书中建议我们采用introduce foreign method或者introduce local extension两种策略。这块的具体实现还是等到我们在第六章和第七章的时候再看,先知道有这么一种方式可以解决这种问题。

纯数据类

这个名词很直接,就是数据中没有任何操作,仅仅是数据。这块的问题是访问的权限问题,书中建议我们要根据需求进行访问控制。不该给的访问权限就不给,如果其他函数有获取这种纯数据类的对象,那么就将相关的方法移到该类中。如果无法移动难么就重新造一个。

被拒绝的馈赠

主要描述的是子类继承了父类,或者实现了父类的接口,但是子类又不想提供父类提供的其他功能。对于这种问题,解决办法replace inheritance with delegation。

过多的注释

作为第三章的最后一个代码问题,本人觉得这个过多的注释没啥好说的了。书中写道按照之前的重构手法,那么重构出来的代码就很漂亮,但是忘了删除那些之前剩余的注释也会造成坏味道,所以说书中建议重构完毕之后就要清理掉多余的代码注释。对于注释,我们可以通过函数名称进行潜移默化的代码注释,这块在《代码简洁之道》中也有相关的说明。

《重构》第四章中主要写了重构的测试问题。因为重构完毕之后,谁也不能保证代码的问题,所以需要去测试。这块我们都知道junit是做什么的,所以就不说了。要明确的是开发人员在代码系统功能的时候,一定要善于junit等测试框架,如果你还使用postman等工具那么你的开发效率和调试效率会很慢。

《重构》第五章中主要是对第六章重构细节演示的说明,所以也没啥好说的。就这样吧,第六章和第七章确实需要好好感悟一下。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 写点笔记 微信公众号,前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档