最近刷豆瓣,读到一篇评张天翼小说《鱼水》的书评。评论夸了文笔、骂了逻辑,核心就一句:文字天赋极高,但人物动机全凭作者自嗨。我看到这就笑了——这不就是技术圈常见病吗?
---
坑一:基础缺位,上来就炫技
书里写到那个年代女性对性知识处于“蒙昧状态”,因为“性教育的系统性缺位”。说白了,该打地基的时候没人教,后面怎么努力都容易跑偏。
技术学习完全一个道理。我见过太多人上来就学 Vue 3、React Hooks、TensorFlow,连 JavaScript 原型链、HTTP 状态码都搞不清楚。说实话,这种“空中楼阁”短期能跑个 demo,一上复杂场景就塌。书评里说“懵懂一点都不浪漫,那是对女性尊严的漠视和践踏”,换到技术上是同一个意思:基础不牢,迟早要还。
我当时学前端就吃过这个亏。直接上 Vue,项目写出来一坨一坨,后来老老实实补了 ES6 和浏览器渲染原理,才明白之前代码为什么卡、为什么白屏。基本功这东西,跳不过去。
---
坑二:没有铺垫就直接动手,改需求就崩
书评里有一段特别到位:儿子突然冒出一句“是油条香还是野男人香?”,没有任何事件铺垫,没前因没后果;女儿对母亲乳房的依恋“有点勉强”,作者想表达情感但没按人物心理发展规律来——缺少中间的逻辑推导,动机就显得突兀。
本质是什么?不是文字不好,是缺少“需求分析”这个环节。写小说要先想清楚人物为什么这么干,写代码也一样:模块的输入输出是什么、异常怎么处理、上下游怎么协作。这些东西不先想明白,上手就写,出来的代码就跟书里那些人物一样——功能都在,但逻辑拧巴,改一个地方塌一片。
我见过一个项目,用了十几种 npm 包,但没有统一的状态管理,改一个按钮要改五个文件。后来我跟着一个老同事重构了一个后台系统,他从一开始就画数据流图、定接口协议,跟我说:“代码是写给下一个人看的,不是写给机器看的。”那以后我才真正学会先做设计再写代码。
---
坑三:把特色当全部,手里有锤子看什么都是钉子
书评吐槽“屎尿屁元素有点多”,频繁到“随时随地能直白大胆地说‘性’,你就是个勇敢的人”。作者显然觉得这是自己的优势,但用成了套路,让人产生审美疲劳。
技术圈这个毛病更常见。学了 React,写个活动页也要上;学了 Docker,跑个 hello world 也要打包成镜像;学会了消息队列,连只有两个服务互相调用的项目也要上。我做过渡过一个案例:同事在两个微服务之间用消息队列通信,结果要维护集群、处理消费失败、做幂等、写死信队列兜底,光管消息队列的代码量比业务逻辑还多。实际一个 HTTP 同步调用加个重试机制就解决了,简单可靠还不折腾。技术到底是为需求服务的,不是反过来,别让自己手里的锤子绑架了判断力。
---
结尾:少点自嗨,多看点现实
书评最后写了一段我很喜欢的话:“真心希望作者能下沉到现实,用精准有力的笔触替普通人写出不知如何表达的感受。”
写代码也一样。我的几个建议:
1. 基本功扎住,HTTP、数据结构、设计模式这些底层知识值得花时间,它们是你能走远的底气
2. 写之前先画图,哪怕是草稿,把模块职责、数据流向定下来再动手,别一上来就撸代码
3. 工具要克制,选最合适的,不是最酷的。一个项目两三个核心工具就够了,多了就是负担
说到底,无论是小说还是代码,怕的都是“纸上繁华,人间缺位”——热闹的是框架版本号,缺位的是对业务场景的理解。少点自嗨,多点对真实世界的观察和敬畏,才是真正的成长。