1--将方法迁移到合适的位置!(Move Method)
2--将方法向上层迁移!!(Pull Up Method)(一个方法被多个继承类所实现)
3--将方法向下层迁移!!(Pull Down Mehtod)(方法不是被所有继承类所实现)
4--将属性或者字段向上层迁移!!(Pull Up Field)(俩个以上的子类中包含重复的属性或字段)
5--将属性或者字段向下层迁移!!(Pull Up Field)(只有一个子类用到的属性或字段)
6--将方法,类,属性,变量等名称起的更据描述性(通俗易懂)!!(Rename(method,class,param))
7--限制没有任何关联的类继承(不要滥用继承,没有意义的继承层次)!!(Replace inheritance delegation)
8--提取接口!!(如果多于一个类的使用另外一个类的方法,就要提取出接口)(Extract interface)
9--提取方法!!(在一个方法内,干同一件事情,不同的事情提取出另外一个方法)(Extract Method)
10--用策略模式来代替switch!!
11--将类划分为多个负责具体职责的类!!
12--去除重复代码!!
13--封装判断条件!!(把判断条件设置成BOOL的属性)
14--提取基类!!(Extract SuperClass)
15--不用try -catch来做流程控制!!
16--提取工厂类!!(Extract Factory Class).
17--提取子类!!
18--当方法的参数过多时,建议建立类来代替这些参数!!