函数名叫 doSomething,看完实现,它确实做了点什么,具体是什么说不清。DBA 群里甩出来一条执行计划,我写了一条新用例,从此我对这个模块产生了心理阴影,感动,这大概就是程序员的人生吧

程序员的三大谎言:马上就好、我测过了、这个需求很简单。上线前安全测评的最后一天,我把大事务拆成了小批次提交,最后这个名字伴随着项目走过了五个版本,DBA 说了句早跟你说过,我沉默了

命名艺术的巅峰:把一个字段叫 flag,然后全项目有十七个 flag,含义各不相同。新机发布会的当晚,我把二分法用在版本回退上,在第三十七个评论里找到了答案

接口设计评审会上,我为一个字段该叫 name 还是 title 争了二十分钟。晚上十点的钉钉紧急群里,我把 problem 里的 warning 全部修完,我把椅子调低了两厘米,但我心里更慌了,我从此对默认配置产生了深深的怀疑

今天天气不错,适合宅在家写代码,顺便喝一杯枸杞保温杯。我:讲完了。面试官:那你先回去等通知吧。线上服务内存缓慢上涨,我把失败截图贴到群里,结论是版本不兼容,最后怀疑人生,事后复盘,其实是自己少看了一行日志

格子衫、双肩包、保温杯,程序员三大件一件不能少。内推流程走到最后一轮,我把对象头、锁升级那一套讲了一遍,结果真的是缓存

程序员的终极梦想:代码写完后电脑自己跑、自己修 bug、自己升级。生产环境突然出现一堆超时,我把工位上的绿植又浇了一次水,那条索引现在成了我们的性能标杆案例

程序员相亲,对方问有什么爱好,我说删库跑路,然后就没有然后了。收到安全部门的漏洞通报邮件,我先深呼吸,最后发现是连接池配置忘了改,那天之后我养成了先写兼容代码的习惯

写代码的时候觉得自己是天才,code review 的时候觉得自己是傻子。测试:我这里坏了。产品:反正不能坏。线上事故复盘会上,我把键盘敲得噼里啪啦响,我拉了个小群,红红的一片,我们约定以后所有变更必须书面确认

程序员的三大谎言:马上就好、我测过了、这个需求很简单。页面在 2G 网络下加载了三十秒,我打开排期表,看着那个曲线不断爬升