22个代码的坏味道

22个代码的坏味道

在这里插入图片描述

何时应该重构呢

重复代码

重复代码的恶心之处就在于你每次修改都可能需要修改多处

过长函数

程序愈长愈难理解。每当感觉需要以注释来说明点什么的时候,我们就把需要说明的东西写进一个独立函数中,并以其用途命名

过大的类

这个类做了太多的事情了,它太累了

过长参数列表

一般是不建议超过五个。太长难以理解而且不美观

发散式变化

如果一个类经常因为不同的原因在不同的方向上发生改动,那就是发散式变化。也就是说这个类内聚性不好,职责太多

霰弹式修改

如果每次遇到某种变化,都需要在许多类内作出小改变,那就是霰弹式修改。需要合并成一个类。

依恋情节

类的函数对某个类的兴趣高过对自己所处类的兴趣

数据泥团

不同类中含有相同的字段

基本类型偏执

死活就是要用基本类型,不肯封装成可读性比较高的类

switch语句

swich语句的问题在于重复,如果对一个字段在多处使用了多个switch,那后面修改时就要修改多处。只使用一次switch是可以的

平行继承体系

当你为某个类增加一个子类,必须也为另一个类增加一个子类,导致不必要的修改。

冗赘类

没啥卵用或者用处很小的类

夸夸其谈未来性

属于过度优化。把未来可能改动提前编码了

令人迷惑的暂时字段

类中某个实例变量仅为某种特定情况而设,大多数情况用不上

过度耦合的消息链

消息链太长,牵一发而动全身。

中间人

中间人拿钱不干事,只管传递消息,应该绕过它

狎昵关系

两个类交互过于亲密,花费太多时间去使用互相的数据

异曲同工的类

不同的类干着相似的活

不完美的第三方库

你的功能需求超出这个库的能力了

纯数据类

类没有相关的操作,只有读写数据的函数

被拒绝的遗赠

子类继承了超类的行为,但是不愿意支持超类的接口,说明这个子类不孝顺,应该另立门户。

过多的注释

指一个函数写太多注释。应该根据注释分割成不同的函数

本回完
posted @   松松哥、  阅读(7)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示