zoukankan      html  css  js  c++  java
  • 修改代码的艺术阅读笔记-02

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

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

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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    How To Install MySQL on Ubuntu 16.04
    Rabbitmq vs. kafka
    Expanded encryption and decryption signature algorithm SM2 & SM3
    Open Source CRM
    在WIN10打造成能运行Oracle的JDK的Linux
    Spring Cloud Zipkin
    Debian中APT的前世今生
    nginx for Windows Known issues:path
    Ajax cross domain
    JQuery Cross Domain Ajax(jsonp)
  • 原文地址:https://www.cnblogs.com/yizhixiaozhu/p/14212334.html
Copyright © 2011-2022 走看看