今晚没什么事,鬼使神差地翻到一个三年前的项目文件夹。那是段外包的活,交得急,写得也急,注释少得可怜,变量名还带着那股年轻气盛的随意,info 叫 xx,临时变量叫 tmp2,连个说明都没有。我盯着屏幕看了半天,竟有点不敢认——这真是我写的吗?

其实我是想找一段当时写的加密函数做参考,结果一头栽进自己的旧坑里。那个项目我早就忘了长什么样,文件创建时间显示是某个加班的周六凌晨,怪不得写着写着就走样了——周末的深夜,人最容易既清醒又糊涂。

函数名是拼音缩写,逻辑绕了三道弯,有一段还特意写了句注释:"这里先这样,以后再说。"然后那个"以后"就再没来过。我一边看一边笑,笑自己当年的偷懒,也笑那时候的笃定:总觉得明天有空,总觉得问题不会那么快爆发,总以为上线就完事。

可它偏偏就那么跑了三年,没出过大错。这倒是让我有点惭愧。原来有些代码,糙是糙了点,但只要边界没踩着、异常没触发,它就能一直安安静静地转下去。就像生活里很多将就的事,不是不能改,是改的代价比忍着大,于是大家心照不宣地,让它再转一会儿,转一天是一天。

现在的我写代码,会先画流程图,会写测试,会为命名纠结半天。可说真的,当年那股"先跑起来再说"的劲儿,现在反倒有点羡慕。我们变规范了,也变慢了;变稳了,也变怕错了。重读旧码,像和年轻的自己碰了杯,他递来一瓶没贴标的酒,我尝了一口,涩,但真实。

我顺手把那段"以后再说"补上了。没大改架构,只是把绕的弯捋直,把拼音缩写换成能看懂的英文,顺手补了三行注释,说明这段到底在防什么。改完提交,版本号往后跳了一格。想想这三年里这段代码被多少人无意间跑过、被多少请求悄悄调用,竟对三年前的自己生出一点温柔。他那时大概焦头烂额,却还是把功能跑通了,没糊弄。

关掉编辑器,屋子里只剩机箱风扇的声,低低的,像谁在远处叹气。有些债迟早要还,还好,今天还了一点。我把那个文件夹加了颗星,备注"有空再理"。写下的瞬间就笑了——三年前我也这么写过。也许下次打开它,又是三年后。没关系,只要它还在这儿,只要我还会在某个安静的夜里,想起去看看年轻的自己留下了什么。成长大概就是这样:你以为在改代码,其实是在和过去的自己和解。