代码的坏味道(⽼鸟的经验之谈)
Bad smell in code
下⾯列出的⼀些坏味道是《重构》⼀书中提到的,如果你的代码中有这种味道,那么意味着重构的时机已经来临了。
1、Duplicated 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 Obssion(基本型别偏执)
使⽤太多的基本类别。
10、Switch Statements(switch惊辣现⾝)
过多的switch语句,维护扩展的噩梦。
11、Parallel Inheritance Hierarchies(平⾏继承体系)
在⼀个继承体系中增加⼀个类,会对应在另⼀个继承体系增加类。
12、Lazy Class(冗余类)
不再有现实意义的类的存在,增加维护成本。
13、Speculative Generality(夸夸其谈未来性)
过多的提前设计。
14、Temporary Field(令⼈迷惑的暂时值域)
太多的零时变量。
15、Message Chains(过度耦合的消息链)
消息链太长,耦合性太强。
16、Middle Man(中间转⼿⼈)
中间委托太多。
17、Inappropriate Intimacy(狎昵关系)
两个类过多地使⽤彼此的私有成员。
18、Alternative Class with Different Interfaces(异曲同⼯类) 实现同样的功能却有不同的签名式。
19、Incomplete Library Class(不完美的程序库)
程序库没有需要的功能。
20、Data Class(纯稚的数据类)
类除了数据和数据访问函数,没有其他的功能函数。
21、Refud Bequest(被拒绝的遗赠)
超类中有⼦类不想继承的数据或⾏为。
22、Comments(过多的注释)
过多的注释表明代码不够清晰。