写点什么

文章:如何处理遗留代码

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

    阅读完需:约 2 分钟

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

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

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

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

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

2007-11-20 23:511145

评论

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

架构师三期作业

老姜

设计模式是架构师的必备武器

老姜

架构师训练营——第三周作业

jiangnanage

新基建核心技术人才缺口将达420万

CECBC

新基建 人才缺口 核心技术人才

第三章 课后作业

姜 某某

第 3 周 - 学习总结

大海

探探上当代单身青年的倔强

脑极体

单例模式和组合模式练习

jason

命题作业—第三周

于江水

极客大学架构师训练营

第三周作业

赵龙

百度CTO的故事中,藏着中国AI的底色

脑极体

单例模式的三种

王锟

架构师训练营第三周课后作业

Cloud.

「架构师训练营」第 3 周 学习总结

guoguo 👻

极客大学架构师训练营

关于区块链的那些事,看完可以防忽悠

CECBC

分布式 区块链技术 共识与信任

「架构师训练营」第 3 周作业

旭东(Frank)

极客大学架构师训练营 作业

数据库周刊29│2020数据库研究报告;Oracle取消今年技术大会;腾讯云DBbridge发布支持一键迁库;饿了么迁至阿里云;PG数组查询;Oracle被比特币勒索;DM8 安全管理…

墨天轮

MySQL 数据库 postgresql 腾讯云 阿里云

环信大学:AI赋能万亿"618",0成本轻松5步开启您的智慧客服之旅

DT极客

第三周作业

田振宇

架构师训练营第三周学习总结

不谈

极客大学架构师训练营

架构师训练营 第三周 作业

一雄

极客大学架构师训练营 作业 第三周

几种设计模式的使用场景

Acker飏

极客大学架构师训练营

第三周总结

Linuxer

架构师培训营第三周总结

王锟

架构师训练营第三周课后作业

不谈

极客大学架构师训练营

Apache Zeppelin:可能是开源届最好的Flink开发平台

Geek_8o1tcx

大数据 flink 流计算 Zeppelin

老板不断加需求、改需求的四种应对方法

金刚小书童

项目管理 需求管理

学习总结—第三周

于江水

极客大学架构师训练营

第三周学习总结

赵龙

案例篇:服务吞吐量下降很厉害,怎么分析?

程序员老王

职能合约将如何在未来掀起一场革命?

CECBC

智能合约 区块链技术 去中心化 防篡改 自动执行

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