工程复杂性:隐含复杂性 vs. 诱发复杂性 笔记

工程复杂性:隐含复杂性 vs. 诱发复杂性

伟大的工程师不仅编写能运行的代码。他们理解系统为何变得难以变更,为何某些系统会随时间拖慢团队,以及如何及时应对,以免成本过高。随着软件产品、平台和工程组织的扩展,复杂性不断累积。其中一部分复杂性源于我们要解决的问题本身;另一部分来自我们的架构与实现选择;还有一部分则源于那些在当时看似合理、但长期代价高昂的捷径。