代码异味
概述
代码异味是指程序源代码中可能存在问题的表面症状,通常表示更深层的设计问题。由Martin Fowler在《重构》一书中推广,帮助开发者识别需要改进的代码部分。
关键内容
- 过度膨胀类异味:
- 长函数:函数太长难以理解
- 大类:类过于庞大违反单一职责
- 基础类型沉迷:滥用基本类型而非对象
- 长参数列表:方法参数过多
-
数据泥团:数据字段经常成组出现
-
面向对象滥用类异味:
- switch语句:违反开闭原则的条件逻辑
- 临时字段:只在特定条件下使用的字段
- 拒绝遗赠:子类未充分利用继承的属性
-
不同接口的相似类:类似功能但接口不同的类
-
变更阻碍类异味:
- 发散式变化:单个类因多种原因被修改
- 散弹式修改:一个变化需要多处修改
-
平行继承体系:多个同步演化的继承层次
-
可舍弃类异味:
- 注释过多:注释解释代码而非意图
- 重复代码:多处相同代码块
- 惰性类:功能不足的类
- 死代码:未使用的代码
-
臆想泛化:为未来需求过度设计
-
耦合类异味:
- Feature Envy:方法更关注其他类的数据
- 不适当的亲密:类间过度访问内部细节
- 消息链:过长的方法调用链
- 中间人:仅做委托的类
来源
- [[]] —
- Martin Fowler —