重构的内涵
2016-04-05 09:36
549 查看
重构(refactoring)的本质就是在代码写好之后改进代码的设计。也就是在不改变代码外在行为的前提下,对代码作出修改,以改进程序的内部结构。重构是一种代码整理方法,可以最大限度地减少整理过程中引入错误的几率。
按照通常的理解,我们应该先设计而后编码。但是,随着项目的发展,需要不断地修改代码,于是根据原先设计所得的系统,整体结构逐渐衰弱。代码质量慢慢变差,编码也会变得越来越随意。
重构正好与此相反。即使当前项目的设计很糟糕,甚至是一堆混乱不堪的代码,也可以通过重构将其加工成良好的代码。重构的每个步骤都很简单,甚至看起来有些过于简单,只需要将某个字段从一个类迁移到另一个类,把某些代码从一个函数拉出来构成另一个函数,或是在继承体系中把某些代码推上推下就可以了。但是,积少成多,这些小小的改动累积起来就可以从根本上改善代码的设计和质量。
通过重构,可以找出改变的平衡点。我们会发现设计不再是编码的前提,而是在开发过程中逐渐浮现出来。在系统构筑的过程中,可以学习如果强化设计,其间带来的互动可以让程序在开发过程中持续保持良好的设计。
按照通常的理解,我们应该先设计而后编码。但是,随着项目的发展,需要不断地修改代码,于是根据原先设计所得的系统,整体结构逐渐衰弱。代码质量慢慢变差,编码也会变得越来越随意。
重构正好与此相反。即使当前项目的设计很糟糕,甚至是一堆混乱不堪的代码,也可以通过重构将其加工成良好的代码。重构的每个步骤都很简单,甚至看起来有些过于简单,只需要将某个字段从一个类迁移到另一个类,把某些代码从一个函数拉出来构成另一个函数,或是在继承体系中把某些代码推上推下就可以了。但是,积少成多,这些小小的改动累积起来就可以从根本上改善代码的设计和质量。
通过重构,可以找出改变的平衡点。我们会发现设计不再是编码的前提,而是在开发过程中逐渐浮现出来。在系统构筑的过程中,可以学习如果强化设计,其间带来的互动可以让程序在开发过程中持续保持良好的设计。
相关文章推荐
- 超越Jquery_01_isPlainObject分析与重构
- PHP代码维护,重构变困难的4种原因分析
- Repeater控件动态变更列(Header,Item和Foot)信息(重构cs)
- 重构代码的7个阶段
- superword中的模板抽取实践
- 代码整洁之道------它山之玉可以重构:身份证号码解析、验证工具(第一天)
- 它山之玉可以重构:身份证号码解析、验证工具(第二天)
- 它山之玉可以重构:身份证号码解析、验证工具(第三天)
- 重构之重与敏捷之轻---身份证号重构回顾
- 构建者模式之我见
- 编写好代码的10条戒律
- 《重构》
- Scala: 一次命令式到函数式的重构
- 重构-改善既有代码的设计Refactoring - Improving the Design of Existing Code
- Other: 重构—改善既有代码的设计003:代码的坏味道(Bad smells in Code)
- 如果想当一个好的程序猿
- 一段关于重构的小代码
- Visual Studio不能重写方法时的处理意见AND远程备份
- Refactoring Notes-Refactoring Methods(2)
- Refactoring Notes-Refactoring Methods(3)