1,Duplicated Code (重复代码)
a,同类中两个函数中有相同的表达式
b,互为兄弟类有相同的表达式,将相同代码提到超类中
2,Long Method (过长函数)
当你觉得需要写注释时,就需要建立一个独立的子函数,条件表达式和循环也是提炼的信号
一定要为子函数取一个好名字
3,Large Class (过大的类)
4,Long Parameter List (过长的参数列)
5,Divergent Change (发散式变化)
一个类受多种变化的影响
6,Shotgun Surgery (散弹式修改)
一种变化引发多个类相应修改
7,Feature Envy (依恋情节)
8,Data Clumps (数据泥团)
9,Primitive Obsession (基本类型偏执)
10, Switch Statements