《程序员修炼之道:从小工到专家》阅读笔记
第二阶段:“破窗理论” 与代码质量守护
“破窗理论” 应该是书里讲代码质量最戳我的点了,它不是干巴巴的理论,而是说到了我们小组做项目时常见的 “摆烂” 问题。书里打了个特别形象的比方:一栋楼要是有扇窗户破了没修,过阵子其他窗户也会被砸坏,墙还会被涂得乱七八糟 —— 代码质量变差的过程简直一模一样。要是团队第一次就容忍 “凑活” 的代码,比如为了赶作业截止日期写的三层嵌套 if-else、没注释的复杂算法,或者把业务逻辑和数据处理混在一起写,就等于打开了 “破窗” 的口子,后面接手的人会觉得 “这里本来就不用讲究”,甚至跟着这么写,最后整个项目的代码就变成没人敢碰的 “烂摊子”。
我之前和同学做电商模拟项目时,就真切感受到了 “破窗理论” 的坑。项目刚开始,有个紧急需求要赶,同学为了快点上线,在订单支付模块里硬写了三个支付渠道的逻辑,既没封装成统一的接口,连金额校验都直接塞在控制器里。当时我们还商量着 “等后面有空再重构”,结果新需求一来,大家都忙着在现有代码上 “打补丁”,今天加个渠道判断,明天加段异常处理,不到三个月,这个模块从 200 行涨到 800 行,连个测试用例都没有。后来要加新的支付渠道,没人敢改原来的代码,只能重新写一套并行逻辑,不仅系统变臃肿,还因为两个模块数据不同步,导致订单对账出错,最后花了整整一周才重构好。
这次经历让我彻底明白,守护代码质量不是 “后面再大规模改”,而是 “第一处破窗就要及时修”。书里说,哪怕只是加一行关键注释、把长函数拆成短的、把重复逻辑提出来做成公共方法,都是在补代码的 “窗户”。就像平时写代码,看到同学提交的代码里有空指针风险,别想着 “反正现在能跑”,要主动提醒他优化;自己写代码时,就算赶时间,至少变量名要规范、逻辑分层要清楚,别成为 “破窗” 的始作俑者。真正靠谱的开发小组,都知道对糟糕代码 “零容忍”,因为补个小漏洞的成本,比后面整个系统重构低多了。
“破窗理论” 在书里的应用真的说到点子上了:要是团队容忍了第一处烂代码,比如没注释的复杂逻辑、重复的代码块,后面代码质量只会越来越差。我之前参与的项目就因为一开始没在意 “临时补丁”,最后重构时得推翻 30% 的代码。从那以后我才知道,守护代码质量要从 “修第一处破窗” 开始,哪怕只是加一行注释、简化一个判断,都是在维护小组的开发标准。