zoukankan      html  css  js  c++  java
  • 《修改代码的艺术》阅读笔记(二)

    我们从系统思维的角度来看一下遗留代码的修改方案。

    首先是遗留代码容易出现的问题。

    任何代码的修改都需要基于一个原则,那就是保证现有功能的不变。

    这是一个难点,越是大的系统,修改起来就越难,由此,开发团队在应对代码修改时往往会选择保守,能不动就不动,这又进而导致第二个问题,代码出现冗余。

    基于系统的增强回路原理,冗余越多,冗余的增加量就越多,再加上复杂系统具有反馈延迟的特性,等开发团队意识到代码已经难以维护的时候,一切就晚了。这个时候常见的手段就是引入一个新技术,借此推倒重来了。

    其次,关于修改代码的方案,从系统思维的角度来看。

    据系统组成:元素、关系、功能

    为了保证现有功能的不变,我们需要引入单元测试。由此,这个系统最终包含两方面的元素,一是被改动的代码,二是被添加的单元测试。

    而他们之间的关系,即功能代码与功能代码之间,功能代码与测试代码之间的关系,则需要考量,或者我们用软件开发中的术语-依赖。

    那么首先要解决的问题就是确定改动哪里和测试哪里。

    然后确定他们之间的依赖。

    再根据测试驱动开发(TDD)的原则,我们需要先编写测试。

  • 相关阅读:
    Codeforces Round #380(div 2)
    Codeforces Round #378(div 2)
    Codeforces Round #379(div 2)
    CCPC2016合肥现场赛
    CCPC2016沈阳站
    HDU2222 Keywords Search__AC自动机
    poj2185Milking Grid
    POJ2961_kmp
    POJ 2406
    poj 2752Seek the Name, Seek the Fame
  • 原文地址:https://www.cnblogs.com/xhj1074376195/p/14231674.html
Copyright © 2011-2022 走看看