技术债务梳理
技术债务的梳理流程是:
- 梳理出政务前端现存的技术债务
- 对技术债务分类、归档,分别评估负债率。
- 评估债务是否需要清理,并评估清理的优先级
但是在梳理技术债务之前,我们先搞清楚,什么是技术债务?
技术债务的定义
为了快速实现需求,采取的非最佳方案实现需求,从而给未来的迭代,带来了额外的开发负担。
技术债务的特点
“利滚利”
技术债务特点之一,是随着代码体量增大,偿还技术债务所需的成本会加倍增加。
技术债务有一个致命的特点,与我们的房贷不同,而与一种很可怕的借款——我们称之为高利贷——相同,那就是会利滚利。试想一下,如果我们在一个类中欠下了技术债务,然后之后的程序又对这个类进行了扩展和修改,再后的程序对扩展后的程序又做出了更大的扩展,或者说后来的程序在一些功能的写法上参照了欠下债务的类,那么这个债务就会产生非常大的利息,甚至于超过了债务本身。用不了太多时间,我们就会发现,已经无力偿还这份技术债务了。 参考:程序员应知——技术债务
破窗理论
存量的坏实现,会更容易诱导后续的代码实现,往更坏的方向发展。
“破窗理论”理论认为环境中的不良现象如果被放任存在,会诱使人们仿效,甚至变本加厉。以一幢有少许破窗的建筑为例,如果那些窗不被修理好,可能将会有破坏者破坏更多的窗户。
后果:降低开发效率
具体表现在这些方面
- 低质量代码存在的错误不易发现。
- 低质量代码需要花费更多的时间理解。
- 低质量代码的基础上,变更和扩展需求,出错几率增加。
- 低质量代码增加定位问题的难度。
参考书籍
《重构:改善即有代码的设计》
《代码整洁之道》
参考文章
程序员应知——技术债务
代码质量与技术债
重构指北——《重构,改善既有代码设计》精读