共计 1013 个字符,预计需要花费 3 分钟才能阅读完成。
缩小代码耦合
对于高度耦合的代码,当咱们心愿复用其中的一个性能,想把这个性能的代码抽取进去成为一个独立的模块、类或者函数的时候,往往会发现牵一发而动全身。挪动一点代码,就要牵连到很多其余相干的代码。所以,高度耦合的代码会影响到代码的复用性,咱们要尽量减少代码耦合。
满足繁多职责准则
咱们后面讲过,如果职责不够繁多,模块、列设计大而全,那么依赖它的代码就会比拟多,进而减少代码的耦合度。依据上一点,也就会影响到代码的复用性。相同,越细粒度的代码,代码的通用性越好,越容易被复用
模块化
这里的“模块”,不单单指一类形成的模块,还能够了解为单个类、函数。咱们要长于将性能独立的代码,封装成模块。独立的模块就像一块一块的积木、更加容易复用,能够间接拿进去搭建更加复用的零碎。
业务与非业务逻辑拆散
越是跟业务无关的代码越是容易复用,越是针对特定业务的代码就越难复用。所以,为了复用跟业务代码无关的代码,咱们将业务和非业务逻辑代码拆散,抽取成一些通用的框架、类库、组件等。
通用代码下沉
从分层的角度来看,越是底层的代码越通用、会被越多的模块调用,越是应该设计足够能够复用。个别状况下,代码,在代码分层之后,为了防止穿插调用关系凌乱,咱们只容许下层代码调用上层及同层代码之间的调用,杜绝上层代码调用下层代码、所以,通用的代码咱们尽量下沉到更上层。
继承、多态、形象、封装
在讲面向对象个性的时候,咱们讲到,利用继承,能够将公共的代码抽取到父类,子类复用父类的属性和办法。利用多态,咱们能够动静地替换一段代码的局部逻辑,让这段代码可复用。除此之外,形象和封装,从更加狭义的层面、而非广义的面向对象个性的层面来了解的话、越形象、越不依赖具体的实现,越容易复用。代码封装成模块,暗藏可变的细节、裸露不变的接口,就容易复用。
利用模块等设计模式
一些设计模式,也能进步代码的复用性。比方,模版模式利用多态来实现,能够灵便替换其中局部代码,整个流程模版代码可复用。
总结:
最近在学习 - 设计模式之美(王争老师),作为对本人的要求,也会吐槽共事的代码的可读性的根底上就想好好学习,看看优良的代码怎么写,为什么这么写。这个过程是思维转变的一个过程!只有本人多看看优良的代码怎么写的才可能把代码写的越来越好,当初学到了 21 课,了解了 SOLID,KISS,DRY 等准则,也跟着老师把代码实现一遍,也去从新查问本人原来模糊不清的概念。比方接口、抽象类、trait 等,更加加深了印象。