知识卡片

过度自信是乱麻系统的根源,要跑得快先要跑得稳

普通读书笔记卡

内容

乱麻系统(没有经过设计、匆忙构建、伴随决策层对代码质量长期忽视的系统)背后的根源不是工程师偷懒——他们往往拼命加班却依然产出上不去,真正的问题是普遍存在的过度自信:一句”我们可以未来再重构代码,产品上线最重要”的自我安慰,让重构永远没有真正到来的时机,因为市场压力永远不会消退、新功能永远做不完;另一种自负是相信”容忍糟糕代码能短期加快上线速度,未来多花点力气清理就好”,却忽视了一个自然规律——无论短期还是长期看,胡乱编写代码的速度其实比循规蹈矩更慢。Jason Gorman的6天实验提供了直接证据:把整数转罗马数字字符串这个任务重复做6天,其中3天用测试驱动开发(TDD),3天直接从头写代码,结果采用TDD编程平均比不采用少花10%时间,且TDD最差的一天也比非TDD最好的一天用时更短。这个结果揭示的核心洞察是:要想跑得快,先要跑得稳——稳健的方法论(如TDD)不是牺牲速度换取质量的权衡,而是同时提升两者的正确路径。管理层扭转局面唯一的选择,是把开发者从”过度自信的兔子模式”拉回来,为自己构建的系统质量负起责任,而不是寄希望于推倒重来(推倒重来同样源自过度自信,没理由认为从头再来这次就会做得更好)。

参考来源

- 位置:《架构整洁之道》第1章《设计与架构究竟是什么》"问题到底在哪里""本章小结"(源文件:_epub-src/text/part0010_split_001.html) - 结论依据:原文用工程师"未来再重构"和"容忍糟糕代码短期无妨"两种自负心态解释乱麻系统成因,并引用Jason Gorman的6天TDD对比实验数据(TDD平均省10%时间、最差表现仍优于非TDD最好表现)得出"要跑得快先要跑得稳"的结论,直接支撑本卡片内容。 - 原始内容:这些工程师们普遍用一句话来欺骗自己:"我们可以未来再重构代码,产品上线最重要!"……采用TDD方法编程后,一般就会比未采用TDD方法编程少用10%的时间……要想跑得快,先要跑得稳。