2020-11-18

JAVA重构的时机

学习目标:

学习java重构技术,掌握重构思想


学习内容:

**1、 代码重复**
    在不止一个地方看到相同的程序结构,那么可以肯定:设法将它合二为一,让程序变得更加简洁。这时你需要做的就是将重复代码提炼出来,然后在两个地点都调用被提炼的出来的代码。另一种情况是“互为兄弟的子类内含有相同的表达式”,此时可以将相同的程序提取出来,作为一个独立的方法放到父类中。

2、函数过长
应该积极地拆分函数,遵循一条原则:每当需要以注释来说明什么的时候,我们就要把需要说明的程序放到一个独立的函数中,并以其用途给函数命名。即使我们需要注释的代码只有一行,我们也应该这样处理。同时条件表达式和循环也是被提炼的讯号,将各个部分提炼成一个函数。

3、过大的类
如果想利用一个类做太多的事,其内往往出现很多实例变量,一旦如此,代码重复也就接踵而至。此时要设法将一个类划分成多个类

4、参数列过长
太长的参数列难以理解,太多的参数会造成前后不一致,不宜使用,而且你需要更多地参数就不得不修改它。如果多个参数数来自同一个对象,考虑用对象来替换它们

5、发散式变化
如果某个类经常因为不同的原因在不同方向上发生变化,就可以考虑将该类拆分。例如“如果新加入数据库要改变这三个函数,如果新加入金融工具要修改另四个函数”那么此时也许将这个对象分成两个会更好,这么一来每个对象只会因为一种变化而需要修改。

6、霰弹式修改
如果每遇到某种变化,你都必须在许多不同的类内做出许多小修改,此时可以考虑将所有需要的修改放进同一个类中,如果没有合适的类安置这些代码,就创造一个。

7、依恋情结
当某个函数为了计算某个值,从另一个对象那里调用几乎半打的取值函数,此时可以考虑将该函数移到这个对象中。最根本的原则是:将总是一起变化的东西放在一起,数据和引用数据的行为总是一起变化的。

8、数据泥团
当在程序中的很多地方看到相同的三四项数据:两个类中相同的字段,许多函数签名中相同的参数。这些总是绑在一起出现的数据应该拥有属于他们自己的对象。一个好的判断方法是:删除众多数据中的一项。这么做,其他数据有没有因而失去意义,如果他们不再有意义,这就是一个明确的信号:你应该为他们产生一个新的对象。

hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值