使用旧版代码,它的真正含义是什么

一月底,我将在《 敏捷实践者2015 TLV》中演讲。 我将讨论旧版代码及其处理方法。 顾名思义,该术语是实用的

那么在处理遗留代码时实际可行的是什么? 它是如何提取方法的? 还是这是如何为静态单身人士引入二传手? 打破依赖? 在处理遗留代码时,有许多动作要做。

但我想停一会儿再想一想。 在遗留代码上工作意味着什么? 我们希望代码在更改后如何显示? 为什么我们需要更改它? 我们真的需要更改它吗?

定义

让我们从遗留代码的定义开始。 如果您在网络上搜索,则会看到诸如“……旧代码是指不再受支持的应用程序系统源代码类型……”之类的定义(来自: techopedia

人们可能会认为遗留代码是旧的,已打补丁的。 上面的定义是正确的(旧的,修补的,未维护的等),但是我认为Michael Feathers( 有效地使用旧版代码 )创造的定义更好。 他将遗留代码定义为:

没有测试的代码

我想补充一点,遗留代码通常是无法测试的代码。 因此,基本上,如果10分钟前,我编写了未经测试且不可测试的代码 ,那么它已经是Legacy Code了

质疑守则

在处理代码(任何代码)时,我认为我们应该不断地问自己以下问题。

  • 此代码有什么问题?
  • 我们希望代码如何?
  • 我如何测试这段代码?
  • 我应该测试什么?
  • 我怕更改这部分代码吗?

为什么要测试代码?

我们为什么要测试我们的代码? 测试是代码的核心。 这是安全网。

想象一下马戏团表演飞人。 下面有一个安全网(或床垫)。 运动员可以表演,知道摔倒不会造成任何伤害(嗯,也许是他们的骄傲)。 最近,我去了一个独立的马戏表演。 乐队正在演奏,一个女孩用高高的绳索来戏弄一些花样。 但是在她甚至还没开始之前,她就在下面固定了一张床垫。 这就是使用遗留代码的全部目的:在开始做花样之前放好床垫……或者用我们的话说,在工作/更改遗留代码之前添加测试。

考虑一下,只需了解我们需要对我们的代码编写测试,就可以回答(或想到)上面的问题列表。 放好安全网后,您就不必害怕跳了。 ⇒一旦编写测试,就可以添加功能,修复错误,重构。

结论

在本文中,我总结了使用遗留代码的含义。 很简单:使用遗留代码,就是知道如何向未经测试的代码编写测试。 关键是要了解我们需要这样做。 了解我们需要花时间编写这些测试。 我认为这与了解技术本身一样重要。

在下面的文章中,我将给出一些技术示例。

一个女孩正在用下面的床垫飞人

一个女孩正在用下面的床垫飞人


翻译自: https://www.javacodegeeks.com/2014/12/working-with-legacy-code-what-does-it-really-mean.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值