晚上十一点多。电梯门“咔哒”一声合上,手机屏幕也跟着暗了。白天攒的那堆待办,这会儿全成了死水。我常琢磨,人活一辈子,是不是真跟跑代码似的?总觉得只要照着说明书一步步敲,就能顺顺当当跑到结尾。可现实哪给过这待遇。真到节骨眼上,往往连个提示框都不弹,直接给你干懵。
前阵子收拾书架,灰尘扑腾了一脸。翻出本卷了边的老书,《Visual FoxPro管理信息系统毕业设计指导及实例》。这玩意儿现在看简直是考古。纸页脆得跟薯片似的,里头却密密麻麻记着怎么建库、怎么拉表单,怎么一行行敲代码。作者把开发流程掰得那叫一个碎。从抠需求、画界面,到后来调bug、打包发布,一条龙写得明明白白。我盯着那厚厚一本,心里直嘀咕:现在谁还信这套啊?可附录里居然专门有一章讲“应用程序调试”和“管理日志设计”。书里原话挺实在:报错是免不了的。要紧的是记下它在哪蹦出来,然后赶紧打补丁。
可人这一遭,哪是按着说明书长出来的。刚毕业那会儿,我也真信过那种“蓝图”。挑什么赛道、混什么圈子、三十岁前必须安顿下来……好像都有套标准流水线。我们总以为把底层架构搭牢,把“买房、考证、攒人脉”这些字段一个个填满,日子就能顺利编译通过。于是死命往生活里塞各种“功能模块”,恨不得把早八晚五和周末加班都卡得严丝合缝。但我觉得吧,这套逻辑本身就有点一厢情愿。生活又不是个静态数据库。你硬往里灌数据,迟早溢出。
真把日子跑起来才发现,现实里全是没写进手册的乱码。比如那个跟了你两年的项目,资金链一断直接黄了。或者一段以为能处一辈子的关系,没吵没闹,某天微信就灰了。又或者某个周六早上睁眼,愣是想不起今天该点哪个按钮。整个人悬在半空。这时候人最容易慌神。总怪自己当初“设计”没兜住底,急着想回滚版本,或者干脆原地死机。说实话,这种时候骂自己两句“没用”是最省事的。但也最没用。
书里提调试那节我后来反复看。它说程序跑崩了不可怕,可怕的是连个日志都不留。日志不记那些顺风顺水的日子,只死磕出错的时间、路径和根因。到这儿我才咂摸出味儿来:咱们缺的根本不是什么完美开局,而是一套能随时记下“今天哪儿卡壳了”的日志本。我现在手机备忘录里就存着这么个玩意儿。不记鸡汤,就记“今天跟客户扯皮到晚上八点,情绪失控”或者“周三下午三点效率极低,别逼自己”。不是把日子盘成零bug的摆件。而是允许自己一边跑,一边打补丁。
有阵子我花大力气折腾自己。推掉一堆没用的饭局,硬调作息,连喝咖啡的时间都卡在下午三点,想把生活死死按在个框里。结果呢?越绷越紧,反而在某个不起眼的小节上直接断裂。大概是连续熬夜改方案,某天早上直接心悸得下不了床。后来索性不跟自己较劲了。累了就瘫一天,踩了坑就认栽,搞砸的活儿就扔那儿不管。怪了。当我放弃追求“一次编译通过”的时候,那些原本以为跨不过去的坎,反倒自己悄悄绕开了。可能人这东西,真不能当机器养。
说句掏心窝子的,我以前总眼馋。要是人生真像书里那样,有明确的开发周期和验收标准,该多省事。后来才看透,生活压根没有“正式上线”那一哆嗦。它从来都在后台挂着,永远在测试版。那些咱们以为的“故障”,与其说是bug,不如说是系统在硬扛新环境呢。未必是哪儿出错了。可能只是硬件跟不上软件升级罢了。
现在碰上烂摊子,我不再急着满世界找标准答案了。就像翻一段长长的运行日志,知道哪儿报了错,大概是因为什么,接着往下走就行。也许人这一辈子,本来就不需要一张滴水不漏的图纸。能在某个安静的晚上,清楚自己今天又顺手修了个小bug,也就值了。剩下的,跑着看吧。