用设计模式重构那些烂代码

用户头像
鸠摩智
关注
发布于: 2020 年 06 月 24 日

烂代码的表现形式有:变量命名不符合变量所代表的含义、if-else嵌套太深、一个方法几百行、一个类干了太多的事情、用面向过程的思维编写面向对象的程序……

重构分为小重构和大重构,小重构可以按照《代码整洁之道》中的那些小技巧,比如给变量起一个好名字,抽取方法等等来重构;大重构往往要运用设计原则与设计模式。

设计模式是前辈大佬们总结出来的常用的编码套路,运用他们之后可以让自己的程序可扩展性更强,应对不断变化的需求和不断新增的需求可以游刃有余。

设计模式分类

功能上分为创建型、结构型、行为型。方式上分为类模式、对象模式。



用策略模式干掉if-else

我们平常的业务代码中最常见的坏代码就是if-else了,比如不同商品类型有不同的优惠计算方式,如直降型、满减型、满赠型、加价购型、限时购型等等。如果每一个需要区分优惠类型的地方都用if-else来区分不同类型的计算方式,当新增一种优惠类型的时候又要把每个地方都打开增加一个else,这明显违反了开闭原则。可以通过策略模式,定义一个接口,接口中有一个计算方法,每种优惠类型实现这个接口中的计算方法。然后客户端代码维护了一个优惠类型到优惠计算策略的map,这样新增优惠类型的时候只需要在客户端的map里面增加一个Entry即可。计算的时候直接从map中根据优惠类型获取计算策略。



发布于: 2020 年 06 月 24 日 阅读数: 52
用户头像

鸠摩智

关注

会当凌绝顶,一览众山小 2018.04.26 加入

还未添加个人简介

评论

发布
暂无评论
用设计模式重构那些烂代码