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

好的代码,能提升你在团队中的地位,糟糕的代码也能降低你在别人心目中的位置。平时开发中难免出现一些糟糕的代码,只有在不断的重构才能提升自己编码的质量。
那么重构到底分哪些呢?主要分为两个部分:哪些代码需要重构以及如何重构。

| 哪些代码需要重构

在重构这本书中把需要重构的代码称为代码的坏味道。平时比较常见的坏味道总结如下:
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程序员日常学习笔记,如理解有误欢迎各位交流讨论!
程序员得私房笔记

发布了20 篇原创文章 · 获赞 48 · 访问量 1662

猜你喜欢

转载自blog.csdn.net/weixin_46421629/article/details/104885252