技术债务正在吞噬世界

概念很简单:由于缺乏资源,人们有时在发布新功能或修复错误时无法正确解决问题。 必须偿还此债务(例如,问题必须得到正确解决),否则债务将累积并影响未来的软件开发。

定义

技术债务是沃德·坎宁安(Ward Cunningham)最初创造的一个术语,这个隐喻将财务规则应用于技术领域。 概念很简单:由于缺乏资源,人们有时在发布新功能或修复错误时无法正确解决问题。 必须偿还此债务(例如,问题必须得到正确解决),否则债务将累积并影响未来的软件开发。

技术欠债的来源很多:代码异味,代码重复,功能复杂,可读性强,缺乏文档。 在技​​术方面,开发团队的组织方面也非常重要(正如最近的一篇文章中所提到的,该文章引用了Microsoft的两篇有关错误预测的论文)。

技术债务的影响

不幸的是,随着软件的普及,我们每天都在看到技术债务的影响。 您当前使用的所有对象(电话,洗衣机,冰箱,汽车)都依赖于软件并承担一些技术债务。

当由于未检测到的缓冲区溢出,未处理的固件错误或什至更简单,过时的依赖关系而对相机,路由器或设备进行黑客攻击时。 它不仅直接影响您。 而且,这还会花费大量金钱,并给制造商带来声誉损失(失去信任,可能的诉讼等)。

当您的汽车被黑客入侵意外加速时 ,当飞机出现问题时 。 即使有严格的规定,也会存在技术债务并影响关键系统。

编写用于交付产品的软件相对容易。 要维护多年,要在保持现有功能的同时提供新功能非常困难。 在某些情况下(航空电子,航空航天,核电站),维护系统的工程师甚至在编写系统时就没有出生。 如何控制将要增加的潜在债务?

为什么我们今天需要解决这个问题?

Gartner 估计, 2011年技术债务的成本在2015年达到1万亿美元 。 我们超过了限制,技术债务不断累积。 有人估计技术成本超过2.84万亿美元 。 许多科技公司意识到尽早解决技术债务以避免技术破产的重要性,现在他们将大约10%的工程时间用于解决该问题。

当今世界上有超过2300万开发人员(并且未来几年还将有更多的工程师加入),我们需要改善软件工程纪律,并拥有更好的流程来避免技术负担并从一开始就产生更好的代码。 否则,我们注定要生产在交付后几个月就开始崩溃的软件。

衡量您的技术债务

如何衡量您的技术债务并立即采取行动? 有一种方法。

我创办了一家名为Code Inspector的公司,该公司开发了一个平台来帮助开发人员和管理人员提供质量更好的代码。 该平台可衡量技术债务并提供有关减少债务的见解。

分析引擎通过一种度量标准(代码质量得分)公开代码库的运行状况。 代码质量得分是一个从度量聚合中得出的简单度量,它表明您的代码基础有多好。 下图显示了Code Inspector如何显示该值。

获得代码质量得分是解决您的技术债务的第一步。 掌握之后,您就可以了解主要问题并制定解决方案。

该平台还提供可视化的代码质量历史值,以便您可以随时间跟踪项目的运行状况。

开发流程

获取当前质量指标只是第一步。 下一步是保证每天不会再增加技术债务。 为此,我们必须在每个潜在的代码更改中添加技术债务检测。 这可以通过两种方式完成:

1. 在您的持续集成管道中添加检查并进行配置,以使任何违反任何代码的更改,复杂代码的重复都被拒绝。 这样,您可以确保新代码不会增加新问题。

2. 使用自动代码审查 :让我们的静态分析器审查并注释开发人员编写的新代码,然后再将其合并到主分支中。 这将在检查时发现错误,并且(1)要求开发人员解决这些问题,并且(2)在您的开发团队中推广良好的编码实践。

Code Inspector支持上述两种方式:您可以将其添加到持续集成管道中,并使引擎分析并注释每个代码更改。 目前,它已与GitHub,Gitlab和Bitbucket等流行的开发平台集成。

包起来

随着我们社会对技术的不断使用,技术债务将继续对我们开发或使用的产品产生负面影响。 至于金融债务,避免技术债务需要流程和纪律。 我们需要工具来衡量和监控您的债务,以确保我们不会宣布自己处于技术破产状态。

希望有一些工具可以帮助您评估和偿还技术债务。 Code Inspector是一个主要工具,可以帮助您量化技术债务并与开发环境集成,以避免在代码库中增加债务。

免责声明作者是Code Inspector的创始人

From: https://hackernoon.com/technical-debt-is-eating-the-world-lfan36t0

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值