为什么非要整理《黑暗之地编年史》的版本大全?这事儿说起来,简直就是被逼上梁山的。
本站为89游戏官网游戏攻略分站,89游戏每日更新热门游戏,下载请前往主站地址:www.gm89.me
那个《黑暗之地》的烂摊子,说起来全是泪。之前公司接了个紧急补丁的活儿,头儿让我去查一个三年前的老版本号。我他妈当时就蒙了。全公司的文档,Excel、Wiki、Git Log,还有那堆开发自己手写的纸条,翻了个遍,屁都没找到。硬是熬了一个通宵,自己跑了测试环境,反编译猜出来的。当时我就立了flag,这文档要是不重做,早晚得出大事,迟早会把所有人都搞死。
开始清理,发现版本号简直是群魔乱舞
被逼着,我才真正钻进去开始清理。不清理不知道,一清理吓一跳。我发现版本号简直是群魔乱舞,完全是看天吃饭,全凭心情瞎搞。
Git标签乱打,有的根本就没有标签。
发布包名随机取,有的叫日期,有的直接是张三李四的拼音缩写。
正式环境和测试环境的版本跳着走,完全对不起来。
最绝的是,甚至还有两个开发自己私下编的“隐藏版本”用于做私活,根本没写进任何文档。
那个版本号,有的叫“V2.1_Final_Really_Final”,有的叫“今天_能用_版本”,简直是屎山里的战斗机。我气得差点把键盘砸了。这哪里是版本控制,这分明就是版本的自由搏击。
强行定义标准,硬挖历史煤矿
实在看不下去了,我直接拍板。我定义了一套新的版本规则,很简单粗暴:主版本.次版本.修订版本(*)。然后我强制所有新项目都得给我用这个。谁敢不遵守,我就把他的电脑格式化。
至于老的那些历史遗留问题,我没办法,只能硬着头皮干。我跑脚本把所有能找到的记录,包括老邮件、JIRA记录、甚至公司群里的聊天记录,全部拉出来。然后我坐下来,一个个手工去对,整理出时间线。那段时间,我每天都像考古学家一样,在历史版本里挖煤。每确认一个老版本的具体改动,我就在心里骂以前的开发一次。
我整理的重点,是锁定每一次对外发布、每一次重大功能变更、以及每一次线上事故对应的版本号。这些都是要命的关键点,绝对不能错。
最终搞定,所有人都轻松了
我他妈搞了快一个月,终于搞定了。我把这玩意儿集成到一个内部的Markdown文档里,这就是现在的《黑暗之地编年史_更新日志_版本大全》。虽然名字听起来有点中二,但它是真的有用。
你随便输个功能,都能查到它是在哪个版本上线的。哪个版本炸了,回滚到了哪个版本,一清二楚。最最大的好处?那个负责紧急补丁的头儿再也不用半夜三更给我打电话了,他自己就能查到。我终于能睡个踏实觉了。
整个过程就是一场跟历史的战争。实践证明,文档这东西,平时不注意,出事了能要人命。以后谁再敢乱写版本号,我就直接扔他去看一遍我的《编年史》,自己反思去,别来祸害我。