调不动的代码,问题多半出在依赖方向
接手一个三年没动过的支付模块,只想改一行手续费计算,编译却要经过 11 个文件,跑测试得把整个应用启动起来。这不是模块大,而是依赖的箭头指反了。 所...
接手一个三年没动过的支付模块,只想改一行手续费计算,编译却要经过 11 个文件,跑测试得把整个应用启动起来。这不是模块大,而是依赖的箭头指反了。 所...
有团队做过一个季度实验:不新增任何功能,只做删代码和简化。季度结束时,他们删掉了服务里将近四成的代码行,同期线上缺陷单数量下降接近四成。没有重构框...
一个电商团队花两周重写了订单模块,上线后第一周故障率不降反升,最后只能回滚到旧实现。事后复盘最扎心的一点是:他们动手前没有量过任何一个指标,只是觉...
接手一个老项目时,你可能见过这样的文件:两百行代码,配了六十多行注释,逐行解释“这里把变量加一”“这里调用接口”。新同事读了半天,依然不知道这段逻辑为...
重构常常开始得很体面——“把这段逻辑抽出来”“顺手统一一下命名”,但改到第三天,你会发现改动像藤蔓一样蔓延到十几个文件,测试挂了,需求还得照常上线,最后...
接到一个改五年老模块的需求,打开代码:没有测试、注释稀缺、写它的人早已离职,业务规则全藏在层层 if 里。你问同事“这块逻辑到底是干嘛的”,得到的回答是...
接手过一段“祖传代码”的人,大概都闪过这样的念头:这代码实在太烂了,干脆推倒重写。但真正动过手的人大多后悔——重写半年,需求一直在变,旧系统还得继续跑...
“写测试太浪费时间了,功能都做不完。”这是开发团队里最常见的抱怨。可奇怪的是,那些嘴上说没时间写测试的团队,时间往往都花在了改bug、联调返工和“这次改...