本文主要是介绍识别代码中的坏味道(三),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前两篇文章 《识别代码中的坏味道(一)》 和 《识别代码中的坏味道(二)》 中已经介绍了 18 个代码坏味道。《重构》中还涉及到另外 4 个代码坏味道,本文将将详细介绍剩余的 4 个代码坏味道。
这四个代码坏味道是:
- 中间人(Middle Man)
- 狎昵关系
- 不完美的库类
- 被拒绝的遗赠
01 中间人(Middle Man)
在上一篇文章中 《识别代码中的坏味道(二)》 中在“过度耦合的消息链”这种代码坏味道曾经提及过中间人(Middle Man)这种代码坏味道,那么中间人到底是一类什么代码呢?
中间人指的是一种过度使用委托的代码,《重构》中给了一个参考值,如果一个类中有一半的方法都委托给其他对象进行,
为什么中间人是一种代码坏味道?
过度使用委托。这意味着当需求发生某些的变化的时候,这个中间人的类总是被牵连进来一并修改。这种中间人代码越多,浪费掉的时间也就越多。
如何解决中间人这种代码坏味道?
中间人的代码在于过度使用和委托两点。因此解决中间人这种代码坏味道就应该从减少委托下手:
删除中间人的方法,可以使用 Remove Middle Man(移除中间人)这种重构技巧。
当然如果原有代码的代理类中并不怎么变化,也可以选择延迟重构,依照“事不过三,三则重构”的原则可以选择当发生变化的时候进行重构。
02 狎昵关系(Inappropriate Intimacy)
指的是类之间花费太多的时间去探究彼此的私有的属性或者方法。
造成狎昵关系的原因可能是:
-
两个类本来就不应该拆分开;
-
两个类之间存在双向关联;
-
因为继承导致了狎昵关系;
…
为什么狎昵关系是一种代码坏味道
这篇关于识别代码中的坏味道(三)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!