程序员遇到祖传代码:技术债是推翻还是维护?
前言: 做开发多年,对于技术债的问题也深有体会。此文描述了一般情况,值得记录。 方案:紧急重要、紧急不重要、重要不紧急、不重要不紧急的划分。随着业务的推进不断偿还债务。 价值收益角度:“继续维护的收益”和“重写的收益”哪个更大? ----------------------------------------------------------------------------------------------------------- 近日,Reddit 上有关 技术债务 的话题再次引起程序员的广泛讨论,面对由错误的或不理想的技术决策所累积的债务,程序员到底是该继续维护还是推倒重写,这个决定应该依据哪些因素来最终决定?如何避免在技术债务上浪费过多时间?本文,InfoQ 针对这一话题采访了多位国内技术从业者,试图对这一问题进行深入剖析。 你在写技术资产还是技术债务? 技术债务 是由 Ward Cunningham 在 1992 年的报告中创造的比喻,被定义为当我们有意或无意地做了错误的或不理想的技术决策所累积的债务。简单来说就是为了快速解决问题而采取的不规范方案,比如开发工程师将某个判断条件写死、测试工程师未进行深入自动化测试、架构师运用了一个即将过时的框架。 对任何一家公司而言,在不断发展的过程中会出现很多“技术遗产”,这其中的部分遗产没有文档,甚至连注释都语焉不详