【注意】当同一个Class的多个对象出现在同一段代码内的时候,极易出错。
  wTh0bPPZpNwc 15天前 15 0

同一个方法里,多个BankOrderFlow对象...这像“shǐ”一样的代码

下面的 paymentQuery 方法坐落于我们lijianjin系统的LiJianJinPaymentQueryBizService。

这两个bankOrderFlow、orderFlow,... 乱花渐欲迷人眼的赶脚,但其实,这是像“shǐ”一样的代码。

 

 

 

 

无独有偶,bug来了

在我们的zhongtai-channel-provider, 上周出现并紧急fix了一个bug。竟然也是 此种情况 引发的bug。

 

先上截图。下图中这段代码,有 3 个 PayPaymentFlow 对象实例:payPaymentFlow、paymentFlow、payFlow。 这命名,与邻居家的三个孩子 大狗、二狗、三狗一样。

 

 

让我介绍一下我们紧急fix的bug。↓

我们在做内部重构时,不慎...,直接下面的改动吧。

 

通过上面的diff,你能看出来发生了什么bug吗? 

看不出来的话,看下面fix后的diff,相信你能看出来。

 

 

bug是fix掉了。那么,谁又能保证未来不会再出现类似的bug呢?

 

因此,如何规避这样的bug?也就是说,如何重构呢?

 

重构要点

一个要点:将复杂的方法拆分为多个更小单元的方法,通过方法的封装来限制变量的作用域。

 

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 15天前 0

暂无评论

推荐阅读
  bVJlYTdzny4o   5天前   15   0   0 Java
wTh0bPPZpNwc