1.重复代码(Duplicate Code)
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语句(Switch Statement)
11.平行继承关系(Parallel Inheritance Hierarchies)
12.冗余类(Lazy Class)
13.杞人忧天(Speculative Generality):有人因以为某天可能会遇到某种情况而试图创建大量的挂钩和不必要的系统来处理一些非必要的情况.
14.被拒绝的馈赠(Refused Bequest):子类不需要父类的所有成员及方法.
15.过多的注释(Extra Commments):不要用注释来解释一段难解的程序,首先应该尝试重构.
