写完那段注释
凌晨两点,我把最后一段注释敲完,退后一步,盯着那几十行代码看了会儿。逻辑清楚了,边界写明了,连"这里为什么这么写"都给了理由。一种很小的、很私人的成就感,像把一间乱了很久的屋子,终于归置利落。
白天开会、改需求、回邮件,真正能写代码的时间,全挤在深夜。安静下来,脑子才归位。注释这种细活,也只有这时候耐得下心。我写注释有个怪癖:尽量当作文写。
给未来的自己写信
很多人觉得注释是写给别人看的。我倒觉得,大部分时候是写给三个月后的自己。那时候我早忘了这段代码的来龙去脉,只会盯着屏幕骂一句"这谁写的,这么绕"。所以我在关键处多写两句:为什么选这个算法,踩过什么坑,哪个参数千万别动。
今晚这段,是个并发的边界条件。初版我图省事,用了一个看似聪明的写法,结果压测时偶发死锁。调了三个晚上,最后老老实实加了锁,并在注释里把整件事的来龙去脉交代清楚,末尾还附了句"别再优化掉这把锁,血的教训"。
写这句话的时候,我自己笑了。像在给一个一定会犯同样错误的同事留便签,而那个同事,就是我。
没人读,也值得写好
有个事实很冷:这项目就我一个人在维护。也就是说,这些字斟句酌的注释,大概率只有我自己会读。可我还是认真写。不是矫情,是知道哪天深夜,困得眼睛发酸时,清楚的一行说明,能省下半小时的抓瞎。
极客的乐趣往往就在这儿——做一件没人看见、却让系统更体面的事。就像有人喜欢把线缆理得横平竖直,有人喜欢给函数起个恰如其分的名字。外人看来无聊,自己心里清楚,那是和混乱较劲后的那点秩序感。
以前带过人,总跟新人说代码是写给人看的,顺便给机器跑。现在不带了,可这习惯留了下来。认真写注释,某种程度上,是对这份工作还存着的一点体面。
关掉编辑器前,我又扫了一遍。注释和代码对齐得整整齐齐,像两列安静站好的士兵。明天上线,这段会被编译进二进制,变成用户永远看不见、却实实在在支撑着什么的东西。
灯关了。那段注释留在文件里,等着某天被某个疲惫的、也许是我的自己,轻轻读到。
评论 0
还没有评论,来说两句吧。