生成式AI领域的最新成果都在这里!抢 QCon 展区门票 了解详情
写点什么

文章:如何处理遗留代码

  • 2007-11-20
  • 本文字数:659 字

    阅读完需:约 2 分钟

在职业生涯中的很多时候,我们不得不面对遗留代码。本文中,遗留代码是指出于他人之手的代码或者自己很久之前写的代码。因为对代码不熟悉,或许一次微小的 改动就会影响其他代码。正如文中所描述的“当你改变一个数据结构或者更新一个变量时,你无法确信将要发生什么”。这就好比在沙滩上筑屋,你还寄希望于造出 香榭楼台吗?

幸运的是,作者给出了解决办法。他强调,不要作出改变后就期待着万事如意,要化被动防守为主动进攻,用“BAT”——构建(build)、自动化(automate)和测试(test)—— 来赢得比赛。构建是指,用构建脚本工具创建一个不依赖于平台的易于运行、易于维护的干净的构建。自动化是指,尽可能将那些可以合理自动化的执行的东西都写 入脚本。测试是指,从客户的观点出发,进行模拟客户测试。作者又用此三种武器,描绘出了工作场景:当我们把所作的修改提交到源代码管理器中,持续集成系统 就会从 SCM 中检出代码,构建它,并且运行整个测试。我们也会及时地通过邮件得知修改和测试是通过还是失败。

最后,作者指出构建、自动化和测试(BAT)能够让我们及时地得到反馈,从而在数小时之内抓住并且解决问题;能够让我们拥有自信的重构能力,从而让我们能够集中精力设法完成性能改进。总之,它能够让我们高效的处理遗留代码。

查看文章:如何处理遗留代码 - - - - - -

译者简介: 包亮,一名普通的程序员,喜欢敏捷实践,喜欢"懒惰",减少重复,尽可能让工作变得简单。几年来,一直通过网络汲取知识,也希望通过网络将知识与人分享 。志愿参与 InfoQ 中文站内容建设,请邮件至 china-editorial@infoq.com

2007-11-20 23:51608

评论

发布
暂无评论
发现更多内容

Nautilus Chain开启全球行,普及Layer3概念加速其采用

BlockChain先知

c#中用System.Diagnostics.Process.Start(Path.GetFullPath(“vlc.exe.lnk“), url);用vlc的快捷方式打开http的url不起作用?

福大大架构师每日一题

C# 福大大 vlc

CMake入门教程:从零开始构建C/C++项目

小万哥

程序员 后端 开发 C/C++ cmake

2D CAD设计软件CADintosh X 激活版

真大的脸盆

Mac Mac 软件 CAD绘图 CAD设计 cad

理解 JVM 工作机制(八) JVM 性能调优

ue4

Java jdk JVM

Nautilus Chain开启全球行,普及Layer3概念加速其采用

股市老人

理解 JVM 工作机制(九) 类文件结构

ue4

Java jdk JVM

ConcurrentHashMap是如何实现的?

javacn.site

Solaris Exchange:一个安全可靠的合成资产交易平台

股市老人

Nautilus Chain开启全球行,普及Layer3概念加速其采用

EOSdreamer111

如何使用golang实现桥接模式

Jack

C语言编程—循环语句

攻城狮Wayne

易观千帆 | 2023年4月证券APP月活跃用户规模盘点

易观分析

证券

Nautilus Chain开启全球行,普及Layer3概念加速其采用

西柚子

软件测试|Python实用炫酷技能——推导式

霍格沃兹测试开发学社

理解 JVM 工作机制(六) 垃圾收集器

ue4

Java jdk JVM

理解JVM工作机制(五)垃圾回收算法

ue4

Java jdk JVM

2023-05-24:为什么要使用Redis做缓存?

福大大架构师每日一题

redis 福大大

AIGC背后的技术分析 | 图像风格迁移

TiAmo

AIGC 图像风格迁移

聊聊 Milvus GC:从一次数据丢失事件展开

Zilliz

非结构化数据 GC Milvus 向量数据库

理解 JVM 工作机制(四) 回收策略

ue4

Java jdk JVM

3D设计必备!5个免高质量的 HDRI 环境贴图网站

Finovy Cloud

blender

中国互联网广告市场年度分析2023

易观分析

互联网 广告

恭喜又一名小伙伴上岸大厂

冰河

程序员 互联网 架构师 大厂Offer 上岸大厂

理解 JVM 工作机制(七) 内存分配和回收策略

ue4

Java jdk JVM

理解 JVM 工作机制(十) 类加载机制和加载的过程

ue4

Java jdk JVM

理解 JVM 工作机制(十一) 类加载器

ue4

Java jdk JVM

基于 Amazon API Gatewy 的跨账号跨网络的私有 API 集成

亚马逊云科技 (Amazon Web Services)

Amazon

从传统 IT 容灾转向“全栈云容灾”|什么是更适合政企的云

云布道师

阿里云

软件测试|Python操作Excel制作报表,不要太方便

霍格沃兹测试开发学社

软件测试|简单易学的性能监控体系prometheus+grafana搭建教程

霍格沃兹测试开发学社

文章:如何处理遗留代码_研发效能_包亮_InfoQ精选文章