![]()
一个VERSION文件,平均每周吃掉开发者47分钟。不是编译失败,不是测试挂掉,是那种" push完才想起来"的钝刀子割肉。
微软工程师Chris Oldwood算了笔账:他同时维护12个并行项目,每个都有手动维护的版本号文件。没有提醒、没有校验、没有后悔药——全靠脑子记。过去三年,他至少200次在提交后才拍大腿。
这问题小到不配开个Jira ticket,但又大到足够让人在周五晚上骂出声。
从"再忘一次"到"干脆造个轮子"
2024年初,Oldwood终于动手。不是写个脚本应付,而是做了个完整的Windows桌面工具VerBump——专门解决"版本号遗忘症"。
核心逻辑很朴素:扫描所有项目目录,比对源代码最后修改时间和VERSION文件时间戳。橙色的高亮条直接告诉你"这项目该 bump 了",不用翻git log,不用猜。
「One glance, and I know exactly what needs bumping before I push.」Oldwood在发布帖里写道。
![]()
工具本身只有三个快捷键:Ctrl+1打补丁号,Ctrl+2升次版本,Ctrl+3动主版本。全程无鼠标、无弹窗、无"确认要保存吗"。Oldwood测过,从发现到完成bump,平均耗时2.3秒。
最狠的功能藏在Git钩子后面
对于"连2秒都不想花"的项目,VerBump能自动安装pre-commit钩子。提交前强制检查VERSION新鲜度,过期直接阻断,连push的机会都不给。
「That's the version I use for my most active projects.」
这个设计踩中了多人协作的暗礁。Oldwood没说的是:版本号滞后会导致依赖混乱、回滚困难、甚至生产事故。钩子把个人习惯问题,变成了工程流程的硬约束。
开发成本 vs 节省时间的账,Oldwood自己算过:建造VerBump花了约15小时,按每周省2小时计,8周回本。
为什么大厂不做这个?
![]()
有趣的在后面。Oldwood是微软员工,但VerBump是个人项目,MIT协议开源。公司内部的版本管理工具链(如Azure DevOps)有自动版本号方案,但那是针对统一平台的。
遗留项目、个人side project、跨平台混合开发——这些场景被大厂工具遗弃了。Oldwood的痛点,本质是"长尾开发者"的集体困境。
VerBump的下载页面没有营销话术,只有一行字:「If you work on multiple projects in parallel and maintain VERSION files, give it a try.」
评论区有人追问:为什么不用语义化版本自动工具?Oldwood的回复很直接——那些工具要改构建流程,而他的目标是"零侵入",VERSION文件该在哪还在哪。
这种克制的产品观,让VerBump在Hacker News拿到340+点赞。不是因为它技术多深,是因为它拒绝过度设计。
Oldwood最后更新README时加了一行:「Feedback very welcome!」——距离他第一次忘记bump版本号,刚好过去三年零四个月。
你的项目里,有没有那种"不配专门修但又天天恶心你"的小问题?最后是怎么解决的,还是还在忍着?
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.