zoukankan      html  css  js  c++  java
  • 【重构.改善既有代码的设计】1、前言

    1、前言

     

    重构的定义

    重构是在不改变软件可观察行为的前提下,改变其内部结构。 
    这个动作,就是动词的重构,这个工作,就是名词的重构。

    重构是一种经千锤百炼形成的有条不紊的程序整理方法们可以最大限度的减少整理过程中引入错误的几率。本质上说,重构是代码写好后改进他的设计。

    最纯粹的重构,是不需要了解软件行为的,只是一个代码组织上的优化行为。 
    但事实上,我们一般很少会去做纯粹的重构,所以,了解了软件行为,往往会更加能够选择更好的方法重构,甚至,在很多时候,重写是更好的重构方法。

     

    重构的方法

    仅仅掌握重构思想是没有用的,只有日积月累的勤学苦练,认识所有代码的坏味道,掌握他们的重构手法,然后才能有信心面对各种复杂的情况————学会所有的招式,才能无招胜有招。 
    张三丰较张无忌学太极拳,也是先学会所有的招式,然后忘掉,做到的无招胜有招。 
    有些人那些学了思想,就声称掌握了这门技术,往往是眼高手低罢了。

    设计模式为重构提供了目标。

     

    重构与设计

    简单设计与预先设计的关系:尽可能简单的预先设计。 
    如果已经预测到软件会遇到某方面的变化,就必须在开始设计的时候考虑到这个变化会对代码造成的风险,使在变化发生的时候,能够方便的改动。 
    也就是说,你可以不去实现那些变化,但是要保证以后可以方便的实现那些变化。

     

    重构的担保

    重构应该有测试用例保证安全,不论是自动测试还是人工测试。 
    重构要与增量开发隔离,以保证随时可以回退。

  • 相关阅读:
    用互不相同的fib数列的数分解任意整数。
    2015 初赛TG 错题解析
    【模板】判断二叉查找树
    【初赛】完善程序题解题技巧 && 近六年PJ完善程序真题解析
    [NOIP 2012普及组 No.2] 寻宝
    [NOIP 2012普及组 No.1] 质因数分解
    [NOIP 2013普及组 No.4] 车站分级
    [NOIP 2013普及组 No.3] 小朋友的数字
    [NOIP 2013普及组 No.2] 表达式求值
    [NOIP 2013普及组 No.1] 计数问题
  • 原文地址:https://www.cnblogs.com/aoyihuashao/p/10387495.html
Copyright © 2011-2022 走看看