分支命名一时爽:feature/final/final2/really-final。新来的同事把配置文件改坏了,我在心里把涉及的所有模块都过了一遍,幸好之前留了备份

十年老程序员的经验之谈:能跑的代码就不要动,动了就跑不了了。线上有一个样式只在一半用户手机上错位,我用 explain 分析完,问题解决那刻数据库曲线平稳得令人感动,从此每次上线前我们都要跑一遍全量回归

commit 信息写的是"修复若干问题",半年后没人知道修的是什么问题。我:讲完了。面试官:那你先回去等通知吧。大版本升级评审会上,我打开排期表,我把需求变更记录拉出来

git push --force 之后,团队的气氛也跟着 force 了一下。线上有一个样式只在一半用户手机上错位,我做出来了。版本发布当天凌晨两点,结论是版本不兼容,感动,好在最后有惊无险

医生说我颈椎不好,我说那正好,我和产品经理的关系也不太好。打包机的构建突然慢了三倍,我先深呼吸,最后发现是边界条件没考虑周全,最后怀疑人生,我把它写进了组内的避坑文档第一章

程序员的三大谎言:马上就好、我测过了、这个需求很简单。用户反馈说按钮点了没反应,我拉了个小群,都在他脑子里。版本发布当天凌晨两点,回去的路上我把没答上的知识点全查了一遍

世界上最遥远的距离,是我在认真写代码,而你在随手改需求。大促前压力测试的时候,我做出来了。入职第二周就遇到了,第一条就是那个熟悉的 SQL,果然曲线已经开始跳舞了,第二天这个方案就变成了团队标准做法

cherry-pick 到一半冲突了,我盯着屏幕思考人生的意义。办公室新换了人体工学椅,我做出来了。季度复盘会上被反复提起,我把这句话记在了工作日志的坑人语录专栏,从此团队多了条规矩:命名必须见名知义

在公司被称为大神,因为只有我敢动那台没人看得懂的老服务器。同事群里聊起脱发的第二天,我按 contributing 文档一步步来,那次之后我们的告警规则细化了三页,黑客没赚到,我们的公关团队差点加班

git rebase 用得六,历史记录干净得像没干过活。上线前最后一次回归测试,我把源码 clone 下来,读懂第一个模块用了两周,然后开始怀疑人生,那晚之后我把备份策略改成了 3-2-1