# 程序人生：学习编程的你想快速把知识内化为能力，只需这 4 步！

By [taogemazi](https://paragraph.com/@taogemazi) · 2023-05-15

---

曾经一位开发者通过在行约我聊找工作的事情，他提到一个很典型的现象：

自己对很多编[程方面的知识都有了解，比如设计模式、多线程等，看书时都知道怎么回事儿，可面试时别人问到它们怎么用，](https://link.zhihu.com/?target=https%3A//jq.qq.com/%3F_wv%3D1027%26k%3DFsj68ZTN)却说不上来。而且，在实际编写代码时，也想不到要用它们，始终没用起来。

这其实是知识的内化问题：怎样把书本上的知识，内化为自己的能力，让自己遇到合适的场景不假思索就能用起来，始终是个问题。

我特意回顾了自己学习编程的经验，认真思考了这个问题，找到一个将知识内化为能力的实践规律，分享给大家。

有这么4个步骤：

（1）记住知识点，尤其是它的适用场景、可以解决什么问题、能带来什么价值。 比如设计模式中的工厂模式，你就要知道，它是用来解决对象创建问题的，能够把散布在代码中的对象创建代码收归一处，方便对象类别的新增、修改、扩展，也方便具体对象的创建，最终可以构建出耦合度更低的代码。

（2）带着知识点，观察[别人怎么用它。 比如你可以带着抽象工厂模式，到你的工作代码中、到开源项目中、到知名开发框架中去](https://link.zhihu.com/?target=https%3A//jq.qq.com/%3F_wv%3D1027%26k%3DFsj68ZTN)找它们的影子，看看别人怎么用的。

（3）有意识地去找或者创造可以使用知识点的典型场景，有意识地去用。 哪怕用得很生硬，也要用，比如代码中只有一种对象要创建，也可以为了练习而引入抽象工厂模式。我们要告诉自己：我要用这个，我要用这个，我要用这个。反复重复1~3步，尤其是第3步，目的是为了在头脑中建立“知识-->场景”的映射。

（4）在开始新工作时，有意识地询问自己，哪里可以应用某个知识点，争取去用它。 反复如此，争取每周都可以应用那么两三次，持续一个月，就可以建立从“场景-->知识”的映射。

经历了这 4 个步骤后，[书上学来的知识就会内化，你一看到某个知识点的适用场景，无需思考，就可以用这个知识点来解决问题。这](https://link.zhihu.com/?target=https%3A//jq.qq.com/%3F_wv%3D1027%26k%3DFsj68ZTN)个状态，我称之为“一触即发”。

特意画了一张简单的图给大家参考：

其实不单是编程知识，其他的，也一样。比如你学习RIA读书法，那就：

（1）先记住RIA的用法。

（2）看别人怎么用RIA拆书。

（3）给自己[一个月时间，专门练习RIA拆书，严格遵照RIA的做法，用四色便签纸，一步一步来做。拆过20本书，你就能](https://link.zhihu.com/?target=https%3A//jq.qq.com/%3F_wv%3D1027%26k%3DFsj68ZTN)按照固定流程拆书了。

（4）一读书就问自己，是不是可以用RIA读书法。持续一个月。

这么下来，你肯定很快会用RIA来读书。

还有很多知识，都可以参考类似的方法。

这个方法的核心，就是反复实践，提升反应速度，当我们通过反复的、持续的、有意识的练习，做到“场景出现，不假[思索，即刻应用”这种一触即发的境界，就可以说，自己把某个知识点内化了，就可以说，我们把知识变](https://link.zhihu.com/?target=https%3A//jq.qq.com/%3F_wv%3D1027%26k%3DFsj68ZTN)成了自己的能力。

也只有到这个时候，我们才能真正把知识用来解决问题。

---

*Originally published on [taogemazi](https://paragraph.com/@taogemazi/4)*
