开发者社区 问答 正文

多数情况下,我们要对复杂度增长采用接近于“零容忍”的态度,避免“能用就行”,原因在于什么?

多数情况下,我们要对复杂度增长采用接近于“零容忍”的态度,避免“能用就行”,原因在于什么?

展开
收起
游客6lve7fjcitvo6 2022-05-11 16:35:23 301 分享
分享
版权
来自: 阿里技术 举报
1 条回答
写回答
取消 提交回答
  • 复杂度增长带来的风险(unknown unknowns、不可控的失败等)往往是后知后觉的,等到问题出现时,往往legacy已经形成一段时间,或者坑往往是很久以前埋的。 当我们在代码评审、设计评审时面临一个个选择时,每一个Hack、每一个带来额外成本和复杂度的设计似乎都显得没那么有危害:就是增加了一点点复杂度而已,就是一点点风险而已。但是每一个失败的系统的问题都是这样一点点积累起来的。 破窗效应Broken window:一个建筑,当有了一个破窗而不及时修补,这个建筑就会被侵入住认为是无人居住的、风雨更容易进来,更多的窗户被人有意打破,很快整个建筑会加速破败。这就是破窗效应,在软件的质量控制上这个效应非常恰当。

    2022-05-11 22:35:09 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
问答地址: