你好,我是程序员雪球,接下来与你一起学习设计原则之DRY原则。
什么是DRY原则?
DRY英文全称:Don't Repeat Yourself
中午翻译:不要重复自己,即不要写重复代码。
代码重复有三种情况,分别是:实现逻辑重复,功能语意重复和代码执行重复。
如何识别是否违反DRY原则?
1、实现逻辑重复,但功能语义不重复代码,并不违反DRY原则。
2、实现逻辑不重复,但功能语义重复的代码,也算违反DRY原则。
3、除此之外,代码执行重复也算违反DRY原则。
什么是代码的复用性?
代码的复用性是评判代码质量的一个非常重要的标准。
先来了解三个概念:代码复用性,代码复用和DRY原则。
1、代码复用性表示一段代码可被复用的特性或能力:我们在编写代码的时候,让代码尽可能复用;
2、代码复用表示一种行为:我们在开发新功能的时候,尽量复用已存在的代码;
3、DRY原则是一条原则:不要写重复的代码;
代码的“可复用性”是从代码开发者的角度来讲的,“复用”是从代码使用者的角度来讲的。比如,A同事编写一个UrlUtil类,代码的“可复用性”很好,B同事在开发新功能时,可以直接“复用”。
这三者理解上有所区别,但实际要达到的目的是类似的,都是为了减少代码量,提高代码的可读性,可维护性。除此之外,复用已经测试过的老代码,bug会比从零重新开发要少。
如何提高代码复用性?
我总结了7调情,具体如下:
1、减少代码耦合:避免牵一发而动全身;
2、满足单一职责:越细粒度的代码,通用性越好,越容易被复用;
3、模块化:像搭积木一样,拿来即用;
4、业务与非业务逻辑分离:抽取成一些通用的框架,类库,组件等;
5、通用代码下沉:从分层角度看,越底层的代码越容易;
6、封装,抽象,继承,多态;
7、应用模板等设计模式;
第一次编写代码的时候,先不考虑复用性;
第二次遇到复用场景的时候,再进行重构使其复用。
我的分享完毕。
如果觉得我讲的不对或者不全,请评论区告诉我一起讨论。
如果你觉得有用,请关注,点赞加收藏,并转发给其他人,后期我会持续更新。