代码的坏味道——《重构——改善既有代码的设计》

1. Duplicated Code

重复代码,在程序中多次出现的相同结构或功能的代码

  • 同一个类中的两个函数含有相同的表达式
  • 两个互为兄弟的子类中含相同的表达式
  • 相互独立的类中出现相同表达式

2. Long Method

  • 过长的函数难以理解及维护
  • 段函数或间接层具有很强的解释能力、共享能力和选择能力
  • 面向对象几乎完全免除了进程内函数调用的开销
  • 短函数功能单一明确,可以起一个比较贴近功能的名称
  • 避免过长的参数列表
  • 查找注释过的代码,通过可以提取出来形成小函数
  • 条件表达式和循环代码也可以提取

3. Large Class

  • 一个类若需要做过多的事情,就会出现大量实例对象,进而导致产生重复代码
  • 将类中彼此相关的变量提取到新类或子类中(可通过变量前缀或字尾区分是否相关)
  • 根据类接口的调用方式来确定该类对外的接口分解

4. Long Parameter List

  • 过长的参数列表难以理解,可能造成前后不一致,不易修改
  • 可以通过宿主对象,或将参数封装成对象传入都可有效减少入参
  • 避免较大对象的传入,此时需要权衡是否以参数列表传入

5. Divergent Change

  • 当类因为不同的场景需求导致其功能向不同的方向发生变化时,那么当你要修改
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值