写点什么

文章:如何处理遗留代码

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

    阅读完需:约 2 分钟

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

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

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

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

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

2007-11-20 23:51954

评论

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

Python 操作Mysql

度假的小鱼

pymysql 11月月更 Python操作Mysql

一文了解 Go 标准库 strings 常用函数和方法

陈明勇

Go golang 字符串 11月月更 strings

Linux yum 命令

芯动大师

yum源 11月月更 Linux系统指令

【web 开发基础】PHP 中数组的定义 (42)

迷彩

数据结构 数组 11月月更 数组的定义

凝心聚力 开源共建 | 统信软件参与成立OpenKunlun开源固件社区

统信软件

开源 开源社区 开源技术

2022-11-29:查找重复的电子邮箱。以下数据中a@b.com是重复的,请写出sql语句。 DROP TABLE IF EXISTS person; CREATE TABLE person (

福大大架构师每日一题

数据库 福大大

深度学习-浅谈keras的扩展性

AIWeker

深度学习 keras 11月月更

单一职责原则详解

杨充

赫夫曼树编码实验报告

我是一个茶壶

数据结构 哈夫曼树 11月月更

支持向量机-SVC的模型评估指标

烧灯续昼2002

Python 机器学习 算法 sklearn 11月月更

华为云大数据平台,助力企业数字化转型成效明显

路过的憨憨

《2022开源大数据热力报告》发布,Flink 摘得「流处理」领域热力值 TOP1

Apache Flink

大数据 flink 实时计算

研发管理如何度量「人效」

feijieppm

项目管理 研发效能 技术管理 文化 & 方法 效能度量

支持向量机-ROC曲线中的概率和阈值

烧灯续昼2002

Python 机器学习 算法 sklearn 11月月更

读《程序是怎样跑起来的》体会

听风go

读书笔记 后端 计算机 计算机原理 读书总结

制造业要用龙头带动整条产业链发展,阿里云智能制造加速器首次集结

B Impact

“后 Hadoop 时代”,大数据从业者如何应对新技术趋势带来的挑战?

Apache Flink

大数据 flink 实时计算

开闭原则详细介绍

杨充

细说值传递、引用传递和地址传递

闫同学

编程语言 计算机基础 11月月更

python版本管理工具DVC

AIWeker

人工智能 版本管理 11月月更 dvc

基于 Apache Flink Table Store 的全增量一体实时入湖

Apache Flink

大数据 flink 实时计算

投入上百人、经历多次双 11,Flink 已经足够强大了吗?

Apache Flink

大数据 flink 实时计算

华为云桌面Workspace,让云上工作更高效!

路过的憨憨

【web 开发基础】PHP中的数组 (41)

迷彩

php 数据结构 11月月更 关联数组 索引数组

Flink CDC 2.3 发布,持续优化性能,更多连接器支持增量快照,新增 Db2 支持

Apache Flink

大数据 flink 实时计算

【React技术】JSX在企业级项目的运用and一个元素渲染demo

恒山其若陋兮

前端 11月月更

融云全球社交泛娱乐洞察,老资格的「游戏社交」还有哪些想象空间

融云 RongCloud

社交 泛娱乐社交

「Go易错集锦」正确使用defer避免代码重复

Go学堂

golang 程序员 个人成长 defer 11月月更

Python 操作mongodb库

度假的小鱼

mongodb 11月月更 Python 操作mongodb库

Python 操作Excel(xlrd和XlsxWrite)

度假的小鱼

11月月更 Python xlrd读取Excel Python xlrd

企业办公新模式,随时随地云上协同!

秃头也爱科技

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