technical debt is different from technical risk
a day ago
- Ward Cunningham对技术债务的最初定义指的是迭代设计,而非捷径或劣质代码。
- “技术债务”的常见用法具有误导性;它实际上描述的是“技术风险”——即修改代码时引入缺陷的风险。
- 技术风险随时间增加,因为代码变得更难修改,而债务则可通过时间偿还。
- 所有程序都带有一定程度的技术风险,无论初始规划或代码质量如何。
- 特性标志常用于缓解风险,但可能导致组合复杂性和锁定效应。
- 持续的代码重构和系统重建可以降低风险,如Rust编译器等成功项目所示。
- 新系统可以采用不同范式(例如SQLite vs OracleDB)以避免停滞。