去年年底那波裁员,我身边好几个哥们儿都没躲过去。我也一样,拿了赔偿金回家,头两个礼拜还挺爽,睡到自然醒,打打游戏看看剧。可到了第三周,看着银行卡余额只出不进,心里就开始发毛了。房贷车贷可不管你失没失业,到日子就得扣。
没办法,开始在各个接单群里蹲活儿。以前在公司写代码,觉得技术牛逼就行,架构、算法、性能优化,张口就来。结果接了第一个私活,我就被现实狠狠抽了一巴掌。
客户是个做电商的小老板,通过朋友介绍找到我,说有个后台管理系统的项目,工期一个月,价格压得挺低。我当时急着开张,也没多想就接了。项目本身不难,就是些增删改查的活儿,我用 React 加 Ant Design,轻车熟路。写完之后本地跑通,测试没问题,打包发给客户。
过了半天,客户微信上甩过来一张截图,问我:“兄弟,你这代码我看不太懂,能不能弄整齐点?”
我当时就懵了。代码还要怎么整齐?我打开他发的截图一看,差点没背过气去。原来他把我打包后的那个 bundle.js 文件直接打开了,里面是 Webpack 压缩混淆过的代码,一整行密密麻麻几万行,变量名全是 a、b、c、d。在他眼里,这就是一坨乱码。
我跟他解释,这是压缩过的,上线用的,体积小加载快。他似懂非懂,又追问:“那你能不能给我一份能看的?我以后万一想改点东西,或者换人维护,这没法弄啊。”
那一刻我突然意识到,在我眼里理所当然的“压缩混淆”,在客户眼里就是“这人不靠谱,代码写得跟屎一样”。他不懂什么叫 Tree Shaking,不懂什么叫 AST 抽象语法树,他只认一个理儿:代码得是人看的。
后来我学乖了。每次交付前,都用 JS 格式化压缩工具把代码重新梳理一遍。工具很简单,就是把压缩的代码还原成带缩进、有换行、变量名虽然还是短但至少结构清晰的格式,然后生成一份文档给客户看。有时候我还会主动把源码用 prettier 格式化好,注释加上,一起发过去。
你猜怎么着?后面接的单子,客户满意度直线上升。有个做自媒体的姑娘找我做小工具,收到代码后特高兴,说“虽然我看不懂,但看着就专业”。还有个客户直接把我推荐给了他朋友,说这小伙子做事细致。
这事让我琢磨了很久。我们做技术的,总容易陷入一种自我感动,觉得用了多新的框架、写了多巧妙的算法就牛逼。但客户要的其实特别朴素:东西能用,出问题能找到人,代码别像天书。尤其是那些不懂技术的甲方,他们判断你靠不靠谱的标准,有时候就是代码看起来整不整齐。
现在我的接单流程里,格式化代码是必做的一步。哪怕项目再小,交付前我也会用工具过一遍,生成一份可读性好的版本。有时候顺手再写个简单的 README,告诉客户怎么部署、怎么改配置。就这么点额外的功夫,帮我积累了好几个长期客户。
所以你说,大厂裁员可怕吗?可怕。但有时候换个角度想,正是因为离开了那个只看 KPI 和 OKR 的环境,我才真正明白,技术最终是要为人服务的。客户在意的不是你的代码有多高深,而是你能不能让他省心、放心。而代码格式化这件小事,恰恰就是那个让客户觉得“你把他当回事”的开关。