java代码重构------代码艺术

鼓励自己的一句话:我不是伟大的程序员,我只是个有着一些优秀习惯的好程序员

重构的定义:对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,调整其结构,提高其可理解性,降低其修改成本。

重复代码:同一个类中的两个函数含有相同的表达式。

解决方式:提炼出重复的代码,然后让这两个地点都调用被提炼出来的那一段代码。

如果代码之间只是相似,并非完全相同,那么就得将相似部分和差异部分割开,构成单独一个函数。然后你可能发现可以运用模板方法模式解决。

如果有些函数以不同的算法做相同的事,你可以选择其中较清晰的一个,并使用策略模式将其他函数的算法替换掉。

如果两个毫不相关的类出现,你应该考虑讲重复代码提炼到一个独立类中,然后在另一个类中使用这个新类。但是重复代码所在的函数也可能的确只应该属于某个类,另一个类类只能调用它,抑或这个函数可能属于第三个类,而另两个类应该引用这第三个类。你必须决定这个函数放在哪儿最合适,并确保它被安置后就不会再在其他任何地方出现。

过长函数

“间接层”所能带来的全部利益------解释能力、共享能力、选择能力---------都是由小型函数支持的。

解决方式:将表达式提炼到一个独立函数中,讲这个临时变量的所有引用点替换为对新函数的调用。此后,新函数就可被其他函数使用。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值