写点什么

文章:如何处理遗留代码

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

    阅读完需:约 2 分钟

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

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

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

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

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

2007-11-20 23:51962

评论

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

万字长文详解如何使用Swift提高代码质量 | 京东云技术团队

京东科技开发者

swift 代码质量 代码质量检测工具 京东技术 企业号 5 月 PK 榜

PAG动效框架源码笔记 (一)概览

olinone

ios Android; 特效

ShareSDK 创建应用

MobTech袤博科技

来这公司一年碰到的问题比我过去10年都多

艾小仙

Java kafka spring spring-boot

什么是人工智能领域的深度学习?

汪子熙

人工智能 深度学习 强化学习 三周年连更

如何使用apache的ab压力测试小工具传参数

北桥苏

ab测试 A/B 测试

文盘Rust —— rust连接oss | 京东云技术团队

京东科技开发者

rust OSS 对象存储 rust语言 企业号 5 月 PK 榜

云服务器管理用什么软件好?行云管家好用吗?

行云管家

云计算 云服务器 云资源 云管理

阿里巴巴宣布加入Linux Foundation AI&Data基金会,捐赠首个开源项目DeepRec

阿里云大数据AI技术

人工智能 大数据

上海国家会计学院刘勤:事项法会计支撑企业更好地应对不确定性

用友BIP

NGINX 和 HAProxy:基于公有云标准环境的用户体验测试对比

NGINX开源社区

nginx 公有云 HAProxy

LED显示屏行业发展步伐

Dylan

发展 科技 LED显示屏

复杂推理:大型语言模型的"北极星"能力

OneFlow

从原理到应用,人人都懂的ChatGPT指南 | 京东云技术团队

京东科技开发者

人工智能 AI ChatGPT4 企业号 5 月 PK 榜

定了!AIRIOT新品发布会,6月6日北京见。

AIRIOT

物联网 发布会 产品发布会 直播预约

从缓存的本质说起,说服技术大佬用Redis

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

AI会对我们日常生活带来什么影响?这些技术会改变我们学习阅读工作方式吗?| 社区征文

汀丶人工智能

人工智能 ChatGPT 人工智能ChatGPT 吗? 三周年征文

重磅来袭!豆瓣评分9.2,万人血书的多线程与高并发v2.0版本

Java 多线程 高并发

MySQL百万数据深度分页优化思路分析

Java MySQL 数据库

SET智能合约量化系统app开发案例

薇電13242772558

合约量化 量化交易

用Leangoo领歌Scrum敏捷开发工具管理产品路线图?

顿顿顿

Scrum 敏捷开发 敏捷项目管理 scrum敏捷工具

给大家推荐一款CRMEB_Java新零售社交电商系统

CRMEB

顶礼膜拜!阿里内部出品,全网首发Spring Security项目实战搭建

Java spring spring security Spring Security OAuth

网易伏羲RL4RS荣获SIGIR2023 Resource Paper,推动深度学习技术创新

网易伏羲

探讨AIGC的崛起历程,浅析其背后技术发展

华为云开发者联盟

人工智能 华为云 AIGC 华为云开发者联盟 企业号 5 月 PK 榜

关于华为MetaERP,我说几句

SAP虾客

oracle 华为 SAP metaerp

ChatGPT会对我们日常生活带来什么影响?这些技术会改变我们学习阅读工作方式吗?| 社区征文

汀丶人工智能

人工智能 ChatGPT 人工智能ChatGPT 吗? 三周年征文

SpringBoot 结合 Liquibase 实现数据库变更管理

Java spring Liquibase

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