我把自己写了三年的工具重写了一遍,然后删掉了七成功能
小猫按回车
·
起因很丢人:我在维护一个自己写的构建辅助脚本,写了三年,两万多行,功能列表长得能当简历用。上周它在一个关键项目里出了个 bug,排查到凌晨三点,最后发现问题出在一个我两年前为了「以防万一」加的参数上——那个参数全组没有第二个人知道是干嘛的。
那一晚我想明白一件事:**维护成本不是按功能算的,是按「记忆」算的。**每一行代码背后都有一段当初的决策记忆,而记忆会过期。三年前的我做了很多聪明的决定,可惜今天的我完全想不起来为什么聪明。
重写的过程我给自己立了几条规矩:
1. 每个功能必须能回答「谁在用、多久用一次」。答不上来的直接砍。
2. 配置项不许超过二十个。以前是九十多个。
3. 任何「以防万一」的代码,写进注释里说明具体的「万一」是什么。写不出来就不许存在。
4. 错误信息必须告诉使用者下一步该做什么,不许只抛一个错误码。
结果两万多行变成了六千行,跑得更快,新人上手时间从两周变成两天。最讽刺的是,砍掉的七成功能里,没有一个用户回来找过——包括我自己。
其实工具和人一样,会发胖是因为每次都只加不减。减法难做,不是因为技术,是因为每次删代码都像在承认过去的自己判断错了。承认多了,也就习惯了。
你们有没有敢删又没删的老工具?评论区立个字据,这周回去砍一刀。
帖子永久链接