晚上十一点半。合上电脑。屏幕一黑,房间里的白噪音立马窜出来。白天群里敲的“收到”,文档里摁的“已同步”,全像层硬壳,跟着暗下去一块儿碎掉。我往后一仰,骨头架子快散架了。今天总算又硬挺挺地转完了。说实话,这种“下班即断电”的仪式感,大概是我们这打工人,最后的体面了。
前几天收拾书架,翻出本落灰的《面向对象软件工程》。里头有个底子概念,叫“封装”。作者写得挺直白:搭对象的时候,得把里头乱成一锅粥的逻辑和数据捂严实了。只留几个口子让人调。外人不用管你内部齿轮怎么咬合。参数塞进去,结果吐出来就行。写代码的图这个省事,省得外头乱伸手,把系统搞崩盘。我盯着那页纸乐了一下。三十多岁的人了,居然靠一本十几年前的技术书找共鸣。这事儿,多少有点魔幻。
看到这儿,我手停了一下。这哪是技术文档。分明是咱们这代人的生存指南。早就习惯把自己打包成个铁盒子。对外递出去的,全是情绪稳定、办事利索的“接口”。朋友喊吃饭,回句“成,几点?”同事催进度,答“正推着呢,明儿交初稿”。家人打电话,报平安“一切都好,别瞎想”。里头那点见不得光的东西——改了八百遍的方案、半夜突然顶到脑门的焦虑、对某段关系拿不定主意的拉扯,还有单纯今天就是懒得张嘴的累——全塞在私有变量里。不让人调。更怕人直接撬内存。这么着真挺好吗?我琢磨着,未必。早些年我认死理,觉得把自己收拾得滴水不漏就是成熟。谁没事愿意把一坨烂摊子端给别人?可最近几次凑一块儿,发觉大家伙儿聊天,越来越像机械地跑指令。太精准了。精准得没劲。全在硬撑自己的“在线率”,生怕哪句嘴快了,对方直接抛个异常;哪件事没办妥,关系立马弹个错。兜来兜去,咱们成了什么系统都能插上的万能转接头。倒忘了怎么真正交换点底牌。
上周跟认识七八年的朋友吃饭。扯工作,扯房子,扯最近追的剧。他随口问一句“最近咋样?”,我嘴比脑子快:“老样子,挺顺。”他乐了,没往下刨。其实那天我刚挨了一记闷棍。方案被全盘否定,自我怀疑能熬到后半夜。但我没把那层壳掀开。不是不想说。是怕。怕一旦把里头那团乱麻抖落出来,对方接不住,最后连桌上这点体面饭都吃不踏实。咱们好像都心照不宣了:成年人的交情,给个能跑通的API就行,谁还指望开源啊。不过话说回来。真全不开源,这关系是不是也容易变成“只读不写”的缓存文件?存着存着,就过期了?
话是这么说,我也清楚,全敞开了肯定不现实。人总得划条线。就跟软件得封装防手贱一样。把最软肋的部分随便亮给人看,多半换不来心疼,只换来添堵。可毛病出在,咱们是不是把这道防线修得太高太厚了?高到连自己偶尔想叹口气,都得先琢磨琢磨“权限批没批”。怕被人看穿。怕被人指着鼻子要“打补丁”。怕一旦露了怯,就被打上“不兼容”的标签。于是干脆缩着。宁愿做个跑起来丝滑但谁也别想深交的模块,也不愿意赌一把可能当场死机的风险。我觉得吧,可能不是咱们怕死机。是这年头,连“重启”的时间都挤不出来。谁敢随便冒风险啊。
书里提过一句,好的面向对象设计,得在捂严实和露一手之间踩好平衡点。人嘛,估计也差不多。不用天天把门全踹开搞“公开访问”。但总得给那么一两个靠谱的人,留个“受保护的通道”。平时关着。但知道它在那儿搁着就行。今儿晚上灯一关,屋里彻底黑透。手机震了下。朋友甩来个表情包,没带字。我盯着屏幕乐了,原样弹回去。没扯别的。也没问近况。挺好。有些事儿本来就没必要扒得底朝天。能留一扇虚掩的门,风透得进,人进得来,就够了。这事儿大概就是这么个意思。不用太较真。能喘口气就行。