重构

代码的坏味道

拆分函数,一个功能集中在一起,形成一个新函数(提炼)

少用临时变量,如调用方法产生的返回值直接写

条件表达式和循环常常也是提炼的信号

减少参数个数,使用对象

尽量使用对象,如有一个起始值和一个结束值组成的Range类

使用多态替换switch

对于没用的组件,应该以内部类

如果每个函数的粒度都很小,那么函数被复用的机会就更大,其次,这会使高层函数读起来就像一系列注释,再次,如果函数都是细粒度,那么函数覆写也会更容易些

函数名称和函数本体之间的语义(它做什么)

如果手上有一群组织不甚合理的函数,你可以将它们都内联到一个大型函数中,再从中提炼出组织合理的小型函数。

去掉临时变量:return anorderbasePrice()>1000

重构时先不要考虑性能

查询代替临时变量

如果程序中有某临时变量被赋值超过一次,它既不是循环变量,也不被用于收集计算结果,针对每次赋值创建一个独立对应的临时变量。

不要对参数赋值

 

        

但是不要再构造函数中使用设值函数

 

解除关系

 

取值函数不该返回集合自身,因为这会让用户得以修改集合内容而集合拥有者却一无所知。Collections.unmodifiableList()方法使一个集合只读

封装包含集合的类,包含对集合增加、删除、获取长度的函数

封装数组:

 

以类代类型码:

 

以字段取代子类:各个子类的唯一差别只在“返回常量数据”的函数身上

原文地址:https://www.cnblogs.com/dapeng520/p/4541354.html