以下内容转载自:阮一峰 科技爱好者周刊(第 292 期) – 所有代码都是技术债

代码是公司的资产,公司总是鼓励大家多写代码。但是,很多人(尤其是管理层)没有意识到,代码也是负债

代码越多,债越多,这就是程序员常说的”技术债”。

今天我想谈谈,什么是”技术债”?为什么你拥有的代码太多,不是一件好事。

“技术债”(technical debt)源自著名程序员沃德·坎宁安(Ward Cunningham)的一篇文章。他写了一句话:”交付代码就像负债累累。”

你的代码一旦进入生产环境,就像背上一笔债务,将来需要不断支付利息,除非代码不再使用。

这个比喻获得了共鸣,人们把代码带来的负担,称为”技术债”

为什么代码好比负债累累?这有两个原因。

第一个原因是,由于各种限制,代码的实现有问题,包含了 Bug,或者选择了有问题的组件,后期需要修改或重写。

第二个原因是,即使代码是完美的,但由于技术进步,它会逐渐腐化过时,后期需要不断维护和更新,这通常比原始开发成本更高。

这意味着,无论多么小心,上线的代码总是有”技术债”。 可以这样说,所有的代码都是技术债

“技术债”的可怕之处,在于你必须按时偿还,如果拖着不还,它就会像雪球一样越滚越多,维护成本越来越高,直到再也无法维护,只能放弃这段代码。

既然所有代码都是技术债,程序员写代码时,就必须考虑到它的长期成本,尽量减轻自己或别人日后的负担(利息)。

一个基本的事实是 代码越少,技术债越小;没有代码,就没有技术债。从这个角度看,软件开发的正确做法是下面两点。

(1)冗余的代码都要删除。

(2)只实现那些必须实现的功能,除非绝对必要,不要引入新功能。新功能必然带来新的代码,而且新功能一旦添加,就很难废除,总是会保留下来。


如您从本文得到了有价值的信息或帮助,请考虑扫描文末二维码捐赠和鼓励。

尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。


与《所有代码都是技术债【转】》相关的博文:


发布时间 03/09/2024 06:25:17栏目 Other.标签 .

留言

avatar
😀
😀😁😂😅😭🤭😋😘🤔😰😱🤪💪👍👎🤝🌹👌