父亲抽屉里的代码评审单

父亲的书房在三楼,朝北,冬天冷得像冰窖。他退休以后就不怎么进去,但也没让人动。去年秋天我回去,帮他找一份旧房产证,拉开书桌最底下那层抽屉。房产证没找着,摸到一摞打印纸,用橡皮筋捆着。

橡皮筋已经老化,一碰就断,像灰白的骨节。

纸上是代码。那种老式的点阵打印字体,边缘毛糙,每页右下角有页码,页码格式还是“P.12/45”。页眉印着一行没人看得懂的项目代号。我翻了翻,有七八十页。红色圆珠笔的痕迹爬在行距之间,有些是横线,有些是问号,有一处写着“这个变量名谁看得懂?????”——五个问号,最后一个戳穿了纸面。

我拿着那叠纸走到客厅。父亲正看一档鉴宝节目,音量开得很大。“爸,这是什么?”他眯眼看了一会儿。“哦,评审。”他说,“那时候都打印出来。”

“什么时候?”

“九八、九九年吧。”他把音量调小了,“那时候我在做话单系统。”

1990年代程序员打印代码红笔批注旧纸张
1990年代程序员打印代码红笔批注旧纸张

一叠用橡皮筋绑住的不只代码

我后来才知道,那时候他们公司没有Git,没有Pull Request,没有在线评论框。代码写完,提交到版本库,然后打印出来,交给组里另外两个人看。有时候是传阅,有时候是围着一张桌子,一页一页翻。发现问题,红笔划。批评得狠了,作者脸上挂不住,但也就那一会儿的事。

老周是父亲的同事,现在住在城东一个老小区。我打着口述史采集的旗号去找他,其实更多是想知道父亲年轻时候在单位什么样。老周说,你爸评审的时候话不多,但会写。他指着一处批注:“这个函数超过两百行了,拆成三个。”字迹很小,极工整,像刻上去的。

“有一回,”老周笑,“你爸给一个新来的小伙子评审,写了四十多条。小伙子脸涨得通红。散会以后你爸去他工位,说你写的这段逻辑,其实我当年也犯过,没别的意思。”

后来那个小伙子成了他们组最较真的人。

我问老周,那时候评审这么较真,不伤和气吗?

他想了想,说,也伤。但是伤完就好了。大家还要一起吃饭、一起加班、一起等编译。跑一趟机房,抽两根烟,气就消了。“不像现在。”他把烟捏灭,“现在你写个评论,发出去,人也不知道对面什么表情。”

我父亲在旁边听着,没怎么说话。过了一会儿他说,那时候代码量也小,一整年写不了几万行。现在——他指了指墙角那台他其实不太会用的笔记本——现在一天几万行都正常吧。

老年程序员与旧电脑屏幕老花镜场景
老年程序员与旧电脑屏幕老花镜场景

评审在纸上和在屏幕上

评审在纸上和在屏幕上
评审在纸上和在屏幕上

回到城里以后,我翻出父亲留在家里的另一份东西。一个软皮笔记本。1999年的,里面夹着几张传真纸一样的代码评审记录。他给人家的意见旁边,有对方的回复。比如“这一段确实可以合并,但我怕改动引入新问题。”父亲在下面用蓝笔写:“那就加注释。说明为什么不用更好的写法。”

这种对话,现在来说是“评论线程”。但那时候是两个人在同一张纸上用不同颜色的笔,隔几天写一句。有点像是在租来的房子里传纸条。

老周跟我说,最有意思的是,评审单最后要组长签字才能提交到“受控库”。这个受控库就是软盘或者磁带。评审判定“通过”之后,才把代码从开发分支合入。整个流程慢,冗长,但每一条意见都有痕迹。你没法悄悄改掉别人的代码,因为纸上还在呢。

我问他,那你喜欢哪种?

他说,现在的工具方便,但太方便了,有时候忘了对面也是人。那时候是物理的,你写一句伤人的话,得先用笔写下来,会犹豫一下。笔有重量。

他在“笔有重量”这四个字上加了重音。我竟然听懂了。

谁在看你的代码

谁在看你的代码
谁在看你的代码

我后来在自己的工作里也做评审。我在一家中等规模的科技公司做事,工具是GitLab,评论在网页上挂着。有时候凌晨两点提交,第二天早上来就有一排评论,是同事在欧洲那边留的。你回一句,他再回。来回十几次,最后点一个“解决”。这个按钮点下去,所有讨论就折叠起来,和没发生过一样。

但是父亲的评审单还在。那叠打印纸里有几页,除了红笔,还有蓝笔和铅笔。铅笔写的字已经淡了,看不清楚。我猜是第三个人,可能是组长,或者隔壁组的。他可能只是路过瞥了一眼,顺手写了一条。后来没人回复他,那条铅笔字就留在了那里,像一个没有回音的提问。

我问父亲,有的意见没人回,会不舒服吗?

他说,那时候人粗,没想那么多。但回过头看,有些意见确实是在理的。

“后来你们改了吗?”

“改了。那个话单系统一直跑到2005年。”他停顿了一下,“跑了好几年呢。”

这个“跑”字,他用得很轻,像说一台老冰箱。

我后来把那一摞打印纸拿回自己家。没有归档,就放在书架顶层。有时候半夜起来喝水,会看到它们夹在两个文件夹之间。有一次我抽出一张,上面有一段代码被画了整整齐齐的红色矩形框,旁边写:“建议增加边界判断。原因:话单记录超过3万条时,这里会溢出。”后面没有回复。没有“已解决”。没有“确认”。但是下一版的代码里,那个位置的判断还在。父亲说,改了。

代码评审这件事,说到底是一群人要一起承担一个结果。纸也好,屏幕也好,评论折叠也好,删掉的评论也好。最要紧的,是你得知道,另一个人会看到你写的东西,而这个人会认真看。

现在那个话单系统早就停了。代码可能还在某个磁带或者废弃硬盘里。但是那叠纸还在。

上面的红笔,蓝笔,铅笔,看不清楚的铅笔。都还在。

作者|fawen

排版|fawen

审核|小北

免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。如有侵权请联系删除。
文章名称:父亲抽屉里的代码评审单
文章链接:https://www.lfdjt.com/info_23_31311.html