重构---代码的坏味道
来源:互联网 发布:大数据公司 征信公司 编辑:程序博客网 时间:2024/04/28 12:45
- Duplicated Code (重复代码)
- Long Method (过长函数)
- Large Class (过大的类)
- Long Parameter List(过长参数列)
- Divergent Change ( 发散式变更)---一个类受多种变化的影响。
- Shotgun Surgery ---- 一个变化引发多个类的修改。
- Feature Envy (依恋情结),一个类的方法,大量依赖另一个类的数据。
- Data Clumps (数据泥团) ,类似的数据,存在多个地方,就一个个的泥块,大部分字段很相似。
- Primitive Obsession (基本类型偏执), 数据结构的定义中, 应该使用类的时候,偏执的使用基本类型。 ??
- Switch statement( switch 惊悚现身) switch的问题在于重复,它常散布在代码的多处地方。 书中说简单的可以通过提取一个函数,封装switch, 这个常见的一种办法, 但是提到使用多态的解决?! 用多态以前的确没有想过,提取共同的接口,在子类中实现差异逻辑。
- Parallel Inheritance Hierachies (平行继承)
- Lazy Class (冗余类), 多余的类
- Speculative Generality( 夸夸其谈未来性) 过度考虑扩展,多余的抽象设计,更难理解与维护
- Temporary Field (令人迷惑的临时字段)
- Message Chains (过度耦合的消息链)
- Middle Man(中间人)--- 过度使用委托
- Inappropriate intimacy(狎昵关系) 两个类关联紧密, 逻辑定位不清晰。
- 异曲同工的类
- Incomplete Library Class (不完美的类库) 使用当类库不支持某功能时,使用Static函数,扩散类库的功能。 或者Introduce Local Extension(引入本地扩展) 当类库不支持多某功能时,继承它,子类扩展。
- Data Class (纯稚的数据类)
- Refused Bequest(被拒绝的遗赠) 超类中不希望实现的超类接口, 将接口的实现下移。
- Comments(过多的注释) 没有同步被更新的注释, 引起歧义。
0 0
- 代码的坏味道,重构,模式
- 《重构》代码的坏味道
- 重构---代码的坏味道
- 重构-代码的坏味道
- 重构----代码的坏味道
- 重构 坏代码的味道
- 重构之代码的坏味道
- 重构-代码的坏味道
- 【重构笔记】重构与代码的坏味道
- 代码重构之代码的坏味道
- 代码重构 & 代码中的坏味道
- 重构学习笔记之代码的坏味道
- 代码的坏味道——摘自《重构》
- 重构系列2.代码的坏味道
- 重构——代码的坏味道 (1)
- 重构——代码的坏味道 (2)
- 重构 之代码的坏味道(Bad smell)
- 重构 之代码的坏味道(Bad smell)
- QDialog例程
- uva 1292 树形dp
- C++栈学习——顺序栈和链栈的区别
- 【LeetCode】(260)Single Number III(Medium)
- ACM_SKILLS(Update)
- 重构---代码的坏味道
- 视觉显著性
- 使用多线程实现多客户端的通信
- linux下的 fork vfork和clone函数
- [Android][转]在Android上实现Java和Js交互
- 使用Matlab结合神经网络模型对多波段影像进行计算
- c++----------模板
- lua coco2d android quick-3.5
- 正负样本不平衡的解决方法