重构 Refactoring

定义和特性说明

敏捷本身提倡与重视的就是“以人为本,以代码为核心”的思想。因此面向代码的设计、持续优化和测试等技术成为敏捷开发的核心技术。重构的理论基础源自William Griswold于1991年的博士论文《Program Restructuring as an Aid to Software Maintenance》,但是作为一项敏捷实践广为应用的推动力,确实源自Martin Fowler的经典著作《重构–改善既有代码的设计》。

Martin Fowler 在书中这样定义重构:所谓重构就是这样一个过程:“在不改变现有代码外在行为的前提下,对代码做出修改,以改进程序的内部结构”。重构是一种有纪律、经过训练的、有条不紊的程序整理方法,可以将整理过程中不小心引入错误的几率降到最低。本质上说,重构就是在代码写好之后改进它的设计。

软件重构(Refactoring)和代码调整(Restructuring)是两项密切相关的技术。代码调整源自早期对结构化程序代码的内部调整,例如goto语句的消除、case语句优化等,通常发生在软件维护阶段,相对较为静态。软件重构则发生在软件开发过程中,是一个持续优化的动态过程。代码重构以及代码调整的一个结果就是代码复用(Reuse)能力得到增强,软件架构的可维护性得到提高。

代码重构中包含两个特征:

  1. 重构贯穿于软件研发的始终
  2. 重构不会改变软件“可受观察之行为”,重构之后软件功能一如以往。任何用户都不知道软件已有功能发生了变化。

重构的原则

为什么重构

在软件开发过程中,你会发现自己经常需要在两类之间切换,添加新功能和重构。其实添加新功能也属于特殊的重构,这种行为也是现有的代码上添加与修改。
它可以并且应该为了以下目的而被运用:

  • 重构改进软件设计
  • 重构使软件更容易被理解
  • 重构还可以帮助你找到bug
  • 重构也可以帮助你提高编程速度
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值