晚上翻旧硬盘,鼠标悬在图标上半天,就是没敢点下去。文件夹全灰,名字还硬邦邦顶着个“视频网站系统”。瞅着它,脑子里立马蹦出当年熬夜啃那本厚得能砸核桃的技术手册的德行。那时候真轴。总觉得吧,只要把每个按钮的点击、加载条的百分比、甚至报错弹窗长啥样,都掰碎了写进文档,代码就能像训熟的狗一样听话。手册里把会员管理、视频制作、内容发布拆得跟乐高积木似的,一层层垒,再用事件监听器死死焊牢。那会儿我敢拍着胸脯担保,逻辑够严密,bug绝对卡死,画面肯定准时渲染。现在想想,年轻气盛罢了。大概是被书本给忽悠了。

后来真过日子了,我也给自己搭了这么一套“系统”。早上七点闹钟一响,弹射起步。周末雷打动约那两三个老友。心情烂透了?点一首老歌循环。硬是把日子切成能按的按钮。以为监听器设得够准,生活就能按预期吐反馈。可实际呢?人哪是点一下就能秒加载的资源啊。有些关系,微信消息发得再密,对方也就是在通讯录里躺着,偶尔冒个泡。有些力气呢?进度条明明拉到99%了,偏偏就卡死在最后那一下,死活转不动。你逻辑写得再滴水不漏,生活连个“系统繁忙”的弹窗都懒得弹。这事儿嘛,图一乐就行,别太当真。

以前总迷信代码越规范,意外越少。那本手册里专门辟了“异常处理”一章,try-catch块写得再漂亮,我也笃定能兜住所有崩溃。但人心里那些突然的走神、没来由的疲惫,哪有什么标准错误码能对应?可能压根不存在什么万能兜底。上个月加班熬到十一点,挤上地铁。车厢空得能听见空调风声。手机屏幕还亮着,对话框里那句“今天过得怎么样”,打了又删,删了又打。真不是怕没人回。就是突然觉得,有些状态压根不需要被监听。更不用非得要个即时响应。它就在那儿。像一段根本不用实时渲染的底层代码,不声不响,自己跑着。

搞交互开发的都讲究“输入给反馈”。咱们现在倒好,日子过得跟投币街机似的,太容易伸手要反馈了。发条朋友圈,盯着点赞数掉没掉。做份方案,死磕转化率。哪怕心里喜欢个人,都得琢磨对方回消息是快了三秒还是慢了五分钟。好像没有即时回调,这事儿就算白干。可我觉得吧,日子最踏实的部分,偏偏都在没触发任何事件的缝隙里。那些石沉大海的关心。那些没人鼓掌却天天雷打不动练的笨功夫。那些在后台默默耗着内存的长进程。不报错。不弹窗。就安安静静占着空间。可能直到某个毫无准备的清晨,它们才突然把扛明天的力气,悄无声息地塞给你。

现在早不执着于给每个念头挂监听器了。它不响应?进度条就让它停在加载那儿吧。生活本来就不是严丝合缝的交互系统。倒更像一堆充满未文档化变量的开源代码。变量满天飞,逻辑漏洞百出。你只管把自己那块儿写利索。剩下的,撒手不管。最后跑出个什么画面,谁拍胸脯担保呢?反正我觉得,有些东西本来就不靠触发。在后台安静跑完,没报错,也没崩溃。就已经挺够意思了。