代码的坏味道

代码的坏味道列表:

  1. 神秘的命名:代码不是直观明了的,命名无法表明自己的功能和用法
  2. 重复的代码:在一处以上的地方看到相同的代码结构
  3. 过长的函数:积极的分解函数,当感觉需要以注释来说明点什么的时候,把需要说明的东西写进一个独立的函数中,并以其用途命名
  4. 过长的参数列表
  5. 全局数据
  6. 可变数据:约束对数据的更新,降低风险
  7. 发散式变化:杂糅了不同上下文的模块因为不同的原因在不同的方向上发生变化,对某个上下文进行修改时,需要操心对另一个上下文的影响。
  8. 霰弹式修改:遇到某种变化,需要在不同的地方做出小的修改
  9. 依恋情结:一个函数与另一个模块中的函数或数据交流格外频繁,远胜于自身所处模块内部的交流。
  10. 数据泥团:不同地方出现的三四项相同的字段,例如两个类中相同的字段,许多函数签名中相同的参数,将它们提炼到独立的对象中。
  11. 基本类型偏执:不愿意创建对自己问题域有用的基本类型,如钱、坐标、范围等。
  12. 重复的 switch:在不同的地方反复使用同样的 switch 逻辑
  13. 循环语句:使用 Map Reduce Filter来替代循环
  14. 冗余元素
  15. 夸夸其谈通用性:总有一天需要做这事,企图以各种各样的钩子和特殊情况来处理一些非必要的事情
  16. 临时字段:某些为了特定情况而设置的字段
  17. 过长的消息链
  18. 中间人:过度运用委托
  19. 内幕交易:模块间大量交换数据, 减少模块间的数据交换,并将交换放到明面上
  20. 过大的类:单个类做太多的事情
  21. 异曲同工的类:相似的类却无法替换
  22. 纯数据类
  23. 被拒绝的遗赠:复用超类的实现,但又不愿意支持超类的接口
  24. 注释:一段长长的注释,因为糟糕的代码而存在

代码的坏味道
https://blog.zhangliangliang.cc/post/bad-smell-of-code.html
作者
Bobby Zhang
发布于
2023年4月24日
许可协议