写点什么

文章:如何处理遗留代码

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

    阅读完需:约 2 分钟

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

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

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

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

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

2007-11-20 23:51721

评论

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

区块链加密货币钱包软件系统开发公司(现成)

2021年10月国产数据库排行榜:达梦反超OceanBase夺榜眼,TDSQL实现“四连增”,数据生态加速建设

墨天轮

opengauss TiDB oceanbase 国产数据库 达梦

Vue进阶(幺肆零):vue 新增数组或对象更新后,视图不更新的解决方案

No Silver Bullet

Vue 10月月更

架构师训练营模块一作业

CheneyWang

架构实战营

👊 【Spring 技术特性】SpringMVC集成Java Bean Validation实现参数检验功能(上)

洛神灬殇

spring Bean Validation 10月月更

2021MLB CUP 青少年棒球公开赛·秋季赛泉城开战,DC试训带来新希望

科技新消息

锁仓挖矿软件系统开发模板(源码)

redis在微服务领域的贡献

Java redis 面试 微服务 后端

算力挖矿系统开发内容(现成案例)

随便讲讲Python图像处理库PIL的使用

Regan Yue

Python 10月月更

网络安全—如何预防常见的API漏洞

郑州埃文科技

数据中心 API IP地址

区块链多币种钱包软件系统开发费用(案例)

淘宝小部件:全新的开放卡片技术!

阿里巴巴终端技术

小程序 ios android 淘宝 客户端开发

第 19 章 -《Linux 一学就会》- shell脚本的基础

学神来啦

Linux Shell linux一学就会 linux基础

2021MLB CUP 青少年棒球公开赛·秋季赛从济南拉开战幕

科技新消息

面试官:Java从编译到执行,发生了什么?

Java 架构 面试 JVM

区块链数字货币钱包系统开发公司(案例)

区块链数字钱包系统软件开发详情(搭建)

Python代码阅读(第39篇):获取列表出现频率最高的元素

Felix

Python 编程 Code Programing 阅读代码

从瀑布式到DevOps,开发流程经历了什么?

SoFlu-JavaAI开发助手

DevOps 敏捷开发

架构实战营 模块一作业

felix

架构实战营

模块一作业:微信业务架构图与学生管理系统毕设架构设计

deng

架构实战营

带你掌握不同平台下,探索JDK源码所需的native方法

华为云开发者联盟

Java jdk 系统 native JDK代码

加密数字货币钱包软件系统开发详情(案例)

020云原生之Pod介绍

穿过生命散发芬芳

云原生 10月月更

五个维度打造研发管理体系

车江毅

研发管理 软件开发 技术管理 研发体系 研发团队

ffmpeg 开发环境搭建

webrtc developer

ffmpeg

金九银十面试了3家大厂Java岗,我得到的知识总结

Java 程序员 架构 面试 大厂

阿里内部珍藏版:SpringCloud Alibaba第三版(全彩手册)

Java 架构 面试 微服务 大厂

区块链钱包系统软件开发详情(搭建案例)

多币种钱包系统开发介绍(现成)

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