聊聊重构

引言

今天晚上我们来聊聊重构,最近又看了遍martin fowler的《重构-改善既有代码的设计》,若有所思,我们来结合实际说下他书中所说的“代码坏味道”。

坏味道列表

  • 神秘命名:给每一个类、变量、函数都起一个便于好名字
  • 代码重复:有重复代码想办法提炼成函数
  • 过长函数:要把函数变短,因为越长越难理解
  • 过长参数列表:缩短函数参数列表,太长容易迷惑,如果参数有相同项可以考虑抽成类
  • 全局数据:全局数据容易造成诡异的bug,我们要封装起来搬移到函数中
  • 可变数据:合理控制变量作用域
  • 发散式变化:在一个模块需要变化是却引发了好几个函数的变动,就需要进行合理的函数搬移和提炼了
  • 霞弹式修改:使用内联函数火内联类将本不该分散的逻辑拽回一处
  • 依恋情结:当遇到2个模块直接函数交流频繁,就要考虑让他们2个呆在一起而不是分开在2个模块里
  • 数据泥团:如果有一些数据项粘性比较大,就要考虑提取出类来
  • 基本类型偏执:尝试性的考虑运用对象取代基本类型
  • 重复的switch:多态优于switch
  • 循环语句:尝试以管道取代循环
  • 冗赘的元素:考虑内联函数或是内联类
  • 夸夸其谈通用性:让函数声明是实际点,别一味的扩展扩展
  • 临时字段:去掉临时条件和临时字段
  • 过长的消息链:隐藏委托关系
  • 中间人:别过度运用委托关系
  • 内幕交易:如果2个模块之间有共同的兴趣,考虑再建立一个新的模块来代替
  • 过大的类:类别太大,很容易产生重复代码来
  • 异曲同工的类:将函数签名变得一支
  • 纯数据类:要做好数据封装,移除设值函数
  • 被拒绝的遗赠:谨慎使用继承体系
  • 注释:当你感觉要撰写注释时,请先尝试重构,试着让所有注释都变得多余

总结

哈哈,有二十多个坏味道呢,这些其实我们要在日常的编码中去体会,去识别,然后去修改。相信我们代码会越写越好。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值