再读经典重构、重构与模式、修改代码的艺术《二》

何谓重构

重构:使用一系列重构准则(手法),在不改变【软件之可察行为】前提下,调整其结构

为何重构?

  1. 重构改进软件设计
  2. 重构使软件更易被理解
  3. 重构助你找到bugs
  4. 重构助你提高编程速度

何时重构?

三次法则:事不过三,三则重构

  1. 添加功能时一并重构
  2. 修补错误时一并重构
  3. 复审代码时一并重构

重构的难题

  1. 数据库
  2. 修改接口
  3. 难以通过重构手法完成的设计改动

代码的坏味道

  • Duplicated Code(重复的代码)
  • Long Method(过长函数)
  • Large Class(过大类)
  • Long Parameter List(过长参数列)
  • Divergent Change(发散式变化)
  • Shotgun Surgery(散弹式修改)
  • Feature Envy(依恋情结)
  • Data Clumps(数据泥团)
  • Primitive Obsession(基本型别偏执)
  • Switch Statements(switch惊悚现身)
  • Parallel Inheritance Hierarchies(平行继承体系)
  • Lazy Class(冗赘类)
  • Speculative Generality(夸夸其谈未来性)
  • Temporary Field(令人迷惑的暂时值域)
  • Message Chains(过度耦合的消息链)
  • Middle Man(中间转手人)
  • Inappropriate Intimacy
  • Alternative Classes with Different Interfaces(异曲同工的类)
  • Incomplete Library Class(不完美的程序库类)
  • Data Class(纯稚的数据类)
  • Refused Bequest(被拒绝的遗赠)
  • Comments(过多的注释)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值