重构改善既有代码之数据泥团

重构改善既有代码之数据泥团

Data Clumps(数据泥团)

数据泥团指的是经常一起出现的数据,比如每个方法的参数几乎相同,处理方式与过长参数列的处理方式相同,用Introduce Parameter Object(引入参数对象)将参数封装成对象,或是Preserve Whole Object(保持对象完整)将参数改为对象。

出现数据泥团的弊端
1.增加代码体积
2.影响代码可读性
3.不利于后期的维护

优化方式
关于优化的常用方式在另外一篇文章总结
1.找出这些数据以字段形式出现的地方,运用 提炼类(Extract Class) 将它们提炼到一个独立对象中。
2.如果数据泥团在函数的参数列中出现,运用 引入参数对象(Introduce Parameter Object) 将它们组织成一个类。
3.如果数据泥团的部分数据出现在其他函数中,考虑运用 保持对象完整(Preserve Whole Object) 将整个数据对象传入到函数中。
4.检视一下使用这些字段的代码,也许,将它们移入一个数据类是个不错的主意。

示例

public class Car{
   
    // Benz
    public void printBenz(String brand, String model, Integer price, double power) {
   
        printBasicInfo(brand, model, price, power);
        getTax(power, price);
    }

    // BMW
    public void printBmw(String brand, String model, Integer price, double power) {
   
        printBasicInfo(brand, model, price, power)
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值