如何学习一个新的知识点

看到有些朋友在不断的购买视频教程,处在买课、看课、继续买、继续看的循环之中。看似学习了很多东西,但是实际技术水平提升很慢。帮朋友解惑的过程中我也分享了自己的学习方法论,本文是一个简单的整理。

概述

技术相关知识和信息,按照学习阶段大致可以分为三类。

第一种是快餐类型的知识,各种简明教程、入门教程、新手指南、以及大多数的视频教程,大多归为此类

第二种对文档类型的,各种官网文档、手册、系统性知识结构的出版物属于这一类

第三种是相关的技术博客、生态新闻、源码阅读等,均属此类

快餐

之所以我会称之为快餐,是因为其营养价值不高,但是的确能够解饿,而且还不用漫长的等待,尤其是和后两种需要枯燥的阅读相比,对于没有耐心的人来说,是最佳的选择。

我平时的做法是,新知识点、新概念、且不了解其代替品的情况下,我会先读一下快餐类的教程。让自己大致了解其功能、作用、使用方法、使用场景。差不多能让自己运行其demo的程度。基本上这种教程看过一遍之后不会在翻第二遍。

这一环节的产出就是在我已有的知识结构的网状图中,给新知识点一个位置,并且与已有的多个知识点相关联(在脑海中处理)。

文档

在对知识、概念、工具通过快餐或者其竞品了解了大概之后,我就会去通读一遍这个知识点的官网文档。

第一遍不需要太细,不用关系细节,具体如何使用,有哪些参数、什么格式等等。这一遍的产出是在脑海中建立一个索引,该工具或技能的能力边界是什么样的,换句话说就是这个工具能完成哪些事情,哪些事情是不能达到的(通常需要在了解竞品的情况下,才能对比出来哪些是不能做的)。在后续开发中,具体需要使用哪个功能,再去细查文档,不需要死记用背。无他,唯手熟尔!

第二遍的时机是在用了一段时间之后,基本上每个api的参数都记了个大概的时候,基本上可以看第二遍文档了,这一遍需要看细一些。具体到每个参数。这一遍的目的是记住一些日常用不到的边角功能。(用过一段时间之后)第二遍也自然能比第一遍更能理解每个参数的用途。才能形成有效的阅读。

博客及源码

最后就是关于技术新闻,比如新版本的新特性啊、哪个接口废弃了,下个版本可能会有的东西等等

再有就是各种博客文章、公众号文章等,一般这种都会是某个细节知识点的延伸剖析,或者是一些奇技淫巧、冷知识合集等。可以当做是文档的补充和解读。 较为特殊的是源码,源码阅读可以分为三种:

  1. 在开发中有些情况需要去读相关函数的源码,一般在查bug或者需要hack某些功能的时候
  2. 主题性阅读,例如在vue中双向绑定是如何做的,或者vue中的computed是如何实现自动更新视图的
  3. 泛读,没有太大的目的性,在入口打个断点去跟踪执行路径,或者从代码第一行开始静态分析整个源码仓库

总结

  1. 遇到新概念和技能,先从百科或者官网看概念和用途,说说出来它的相关联知识点
  2. 通过快餐类教程先入门,能看懂每一步,如果已经了解过竞品,可以跳过前两步
  3. 看官方文档,建立能力边界的索引,尽量不留犄角旮旯
  4. 看博客,看看别人的思路和技巧,读源码,学习其实现方式和原理
Meta
35c1d551-879d-4bb7-8e9e-ade6133e0da7