25种代码坏味道+特征

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 Obsession (基本类型偏执)

应该抽象建模的概念,还是使用基本类型表示。

10. Switch Statements (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 Classes with Different Interfaces (异曲同工的类)

A类的接口a,和B类的接口b,做的的是相同一件事,或者类似的事情。

19. Incomplete Library Class (不完美的类库)

20. Data Class (纯数据类)

21. Refused Bequest (被拒绝的馈赠)

子类应该继承父类的数据和函数。子类继承得到所有函数和数据,却只使用了几个,那就是继承体系设计错误,需要优化。

22. Comments (过多的注释)

23. 神奇命名

方法函数、变量、类名、模块等,都需要简单明了,浅显易懂。

24. 神奇魔法

25. 混乱的代码层次调用

以上内容参考:25种代码坏味道总结+优化示例 - 知乎 (zhihu.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值