以下内容转载自:阮一峰 科技爱好者周刊(第 292 期) – 所有代码都是技术债
代码是公司的资产,公司总是鼓励大家多写代码。但是,很多人(尤其是管理层)没有意识到,代码也是负债。
代码越多,债越多,这就是程序员常说的”技术债”。
今天我想谈谈,什么是”技术债”?为什么你拥有的代码太多,不是一件好事。
“技术债”(technical debt)源自著名程序员沃德·坎宁安(Ward Cunningham)的一篇文章。他写了一句话:”交付代码就像负债累累。”
你的代码一旦进入生产环境,就像背上一笔债务,将来需要不断支付利息,除非代码不再使用。
这个比喻获得了共鸣,人们把代码带来的负担,称为”技术债”。
为什么代码好比负债累累?这有两个原因。
第一个原因是,由于各种限制,代码的实现有问题,包含了 Bug,或者选择了有问题的组件,后期需要修改或重写。
第二个原因是,即使代码是完美的,但由于技术进步,它会逐渐腐化过时,后期需要不断维护和更新,这通常比原始开发成本更高。
这意味着,无论多么小心,上线的代码总是有”技术债”。 可以这样说,所有的代码都是技术债。
“技术债”的可怕之处,在于你必须按时偿还,如果拖着不还,它就会像雪球一样越滚越多,维护成本越来越高,直到再也无法维护,只能放弃这段代码。
既然所有代码都是技术债,程序员写代码时,就必须考虑到它的长期成本,尽量减轻自己或别人日后的负担(利息)。
一个基本的事实是 代码越少,技术债越小;没有代码,就没有技术债。从这个角度看,软件开发的正确做法是下面两点。
(1)冗余的代码都要删除。
(2)只实现那些必须实现的功能,除非绝对必要,不要引入新功能。新功能必然带来新的代码,而且新功能一旦添加,就很难废除,总是会保留下来。
如您从本文得到了有价值的信息或帮助,请考虑扫描文末二维码捐赠和鼓励。
如本文对您有用,捐赠和留言 将是对我最好的支持~(捐赠可转为站内积分)
如愿意,请向朋友推荐本站,谢谢。
尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。
留言