修改代码的艺术阅读笔记-02

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

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

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

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

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

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

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

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

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

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

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

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

posted @   yizhixiaozhu  阅读(64)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示