首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

抓好几个着力点简单重构代码,有效提升代码质量

好的代码,能提升你在团队中的地位,糟糕的代码也能降低你在别人心目中的位置。平时开发中难免出现一些糟糕的代码,只有在不断的重构才能提升自己编码的质量。

那么重构到底分哪些呢?主要分为两个部分:哪些代码需要重构以及如何重构。

|哪些代码需要重构

在重构这本书中把需要重构的代码称为代码的坏味道。平时比较常见的坏味道总结如下:

1、重复代码:重复逻辑,可能会造成一个改动要修改多个地方。

2、过长方法:太长的方法难以理解的疏通内部逻辑,不易阅读和修改。

3、过大类:一般说明这个类的功能太多,违反单一原则。

4、过长参数:参数太长不易理解。

5、发散式变化:某个类经常因为不同的原因在不同的方向变化,那么这个类应该分成多个类。

6、霰弹式修改:经常因为一个改动要去改多个地方,比如ip地址的变化,就要修改多个文件。

7、依恋情结:一个类一个方法对另一个类的数据需求超过当前类。

8、数据泥团:一个类的一些数据总是一起出现。比如一个会员类有国家、省、市、县及其他一大堆字段,而前面这几个字段经常都是一起出现就可以提出一个Address出来。

9、复杂的switch:每个case都很复杂的话可以考虑用策略模式或者状态模式。

10、平行继承体系:就是一个继承里面新加一个类,就必须在另外一个继承体现中新增一个类。

11、冗赘类:功能太少可以被取代的就取代。

12、临时字段:在一个算法里面很多临时变量,不好理解。可以把这些临时变量封装到一个类中,便于处理。

13、过长调用链:一长串的.......,容易出现问题,比如空指针。

14、过多的注释:注释多一般说明代码不清晰,应该重构代码是逻辑清晰。

以上是最常见的坏味道代码,我们平时开发的时候经常能遇到。这些坏味道应该烂熟于心,在开发的时候才能发现和修改。

|常见重构方法

发现了坏味道代码就应该及时的解决,就很有必要了解一些常见的重构手法,常见的手法和解决的问题如下:

以上是平时用得较多的重构手段,主要解决的是方法层面再重构。从方法名称、参数和结构方面去优化,还有复杂的表达式、魔法值等方面,我们平时主要遇到的也是这些问题。实际上还有类层面之类的重构,更多的建议可以看看重构这本书。

|注意

我发现很多人经常出现这个问题,详情看下图:

这段代码临时写的比较简单,问题也比较明显。但我们平时开发中代码较复杂就不易发现。在13行执行了方法后得不到想要的结果,14行打印的还是0。

原因在于Java是值传递。即使参数是一个对象,那也是对象的引用传递。这段代码里面13行和17行还是只想同一个对象,但是两个result毫无关系。在19行给方法里面的result赋值一个新的list,这个时候main中的result和getResult里面的result指向的就是不同的对象了。所有接下来对result的所有操作都和main方法无关了。

这就是其中一个重构:不要修改方法的参数,要修改一定要谨慎。

|总结

代码不应该仅仅是实现功能,也同应该是让人能够便于理解的。不仅为别人来理解,有一天也有可能是自己来理解和修改。所以代码便于理解和修改。

Java程序员日常学习笔记,如理解有误欢迎各位交流讨论!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200315A0MFC300?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券