NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

文章:如何处理遗留代码

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

    阅读完需:约 2 分钟

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

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

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

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

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

2007-11-20 23:51612

评论

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

华为大佬的“百万级”MySQL笔记,基础+优化+架构一键搞定

Java~~~

Java MySQL 数据库 面试 架构师

13W字!腾讯高工手写“Netty速成手册”,3天能走向实战

Java~~~

Java 面试 微服务 Netty 架构师

04-可扩展架构

Lane

其实,这就是「幸存者偏差」

非著名程序员

提升认知 认知提升 个人提升 8月日更

毕业感想

薛定谔的指南针

架构实战营

单向数据流-从共享状态管理:flux/redux/vuex漫谈异步数据处理

zhoulujun

React Redux vuex vue2 状态机

当农产品拥有“身份证”区块链技术如何助力农产品溯源监管?

CECBC

JIT-动态编译与AOT-静态编译:java/ java/ JavaScript/Dart乱谈

zhoulujun

Java dart JIT

阿里开发人员献礼“Java架构成长笔记”,深入内核,拒绝蒙圈

Java~~~

Java spring 面试 微服务 架构师

安全世界观 | 常见WEB安全问题及防御策略汇总

架构精进之路

安全 8月日更

模块四作业

秀聪

架构训练营

05-高性能复杂度

Lane

微信朋友圈的高性能复杂度分析

Saber

架构实战营

Java架构速成笔记:七大专题,1425页考点,挑战P8岗

Java~~~

Java spring 面试 微服务 架构师

设计千万级学生管理系统的考试试卷存储方案-模块四

小牧ah

架构实战营

深度解析区块链数字票据及其优势

CECBC

新手小白花几个月勇敢裸辞转行网络安全

网络安全学海

网络安全 信息安全 转行 渗透测试 安全漏洞

从java注解漫谈到typescript装饰器——注解与装饰器

zhoulujun

Java 注解 装饰器 ts 元数据

网络攻防学习笔记 Day98

穿过生命散发芬芳

态势感知 网络攻防 8月日更

记录一次基于Qt的内存数据修改工具开发

星河寒水

qt 内存数据修改 Cheat Engine

腾讯技术官手撸笔记,全新演绎“Kafka部署实战”,已开源

Java~~~

Java MySQL 面试 MQ 架构师

【架构实战营】毕业设计

swordman

架构实战营

初学字典-python

加里都好

毕业设计作业

薛定谔的指南针

架构实战营

架构实战营模块四作业

王晓宇

架构实战营

Android Jetpack Compose

Changing Lin

8月日更

06-高可用复杂度

Lane

架构实战营-毕业设计项目

阿体

三维旋转笔记:欧拉角/四元数/旋转矩阵/轴角-记忆点整理

zhoulujun

矩阵旋转 欧拉角 三维旋转 四元数

JavaScript 开发人员应该理解的 this

devpoint

JavaScript js变量声明 this 8月日更

数字新基建助推能源互联网“一体两翼”区块链中台应用建设思考

CECBC

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