1、尽量去掉临时变量
2、以下情况可以重构:
2.1、过长函数:
1)若代码前有注释
2)若有条件表达式或者循环语句
3、重组函数:
1)以查询取代临时变量
2)一个临时变量只承担一个职责,需要时分解临时变量
3)移除对形参的赋值
4)以函数对象取代函数,把函数提炼到实体类内
4、重组组织数据
1)用构造函数赋值,如果没有set方法的属性,加上final。
2)以子类取到类型码
3)用工厂函数取代构造函数,降低类之间的耦合性。
例如:构造函数:
A a=new A();
改用工厂函数:
A a=A.getInstance();
public class A{
public static String getInstance(){
return new A();
}
}
4)封装向下转型
例如:Object lastReading(){
return reading.lastElement();
}
改为:
Reading lastReading(){
return (Reading)reading.lastElement();
}
5)以异常取代错误码
6)以测试取到异常:
例如:try{}catch(){};
若catch有返回值,则应该用测试取代;
例如:if(xxx){}else{}