经常有人问我,高考数学满分是不是靠刷题。我说不是,是靠拆结构。

当年我做卷子的习惯跟别人不太一样。大多数人是按顺序做题,遇到不会的就卡住。我是先花五分钟把整张卷子翻一遍,把所有题目按"结构类型"分类——函数题归一堆、几何题归一堆、概率题归一堆。然后按类做,同一类做顺手了再做下一类。

这个习惯后来被我带到了学新技术上,效果比刷题好得多。

第一步:找直觉。

学任何新东西之前,先别翻开书。先找一个你能理解的上限——这个东西到底解决了什么问题?用一句话说清楚。如果说不清楚,说明你还没找到它的存在理由。

我学 React 的时候,花了两天没碰一行代码,就是到处看人用 React 做了什么。看到一个老同事用 React 把一个 2000 行的 jQuery 页面重构成了 200 行组件,那一刻我就懂了:不是又多了一个框架,是多了一种组织代码的方式。

第二步:搭框架。

有了直觉之后,第二件事是画出地图。不需要精细,但要完整——这个技术有哪些核心概念?它们之间怎么连接的?输入输出是什么?

我习惯用一张 A4 纸,不写字,画圈和箭头。每个圈是一个概念,箭头是依赖关系。画完这张图,我才开始看文档。边看边改图。改到图不再变了,基础知识就到位了。

第三步:推演。

这是最花时间但也是最有价值的一步。找到一个真实的、你不会的问题,然后不看答案自己推一遍。不是去查 Stack Overflow,是用你前两步积累的直觉和框架,猜一个答案。

猜错是常态。但猜的过程会让你知道你到底哪里没搞懂——是直觉错了,框架缺了,还是推演的步骤漏了。每一次猜错,都是一次精准的查漏补缺。

这三步走完,我一般不刷题。因为我需要的不是重复练习,是对结构的理解。

段永平说"做对的事"——学技术也一样。先把结构搞清楚了再动手,比边写边查效率高十倍。