当我们写读书笔记时,我们在写什么?我的阅读与学习方法论

自学为王

自学是编程中一个永恒的话题,作为可以完全通过互联网进行学习的一门学科,自学贯穿我们的整个职业生涯,而自学能力决定了我们的学习质量和学习速度。

而学习的形式很多,刚入门的时候,我是看视频学的。视频学习的最大好处就直观,同时更容易先形成一个大体的印象,相对来说学习门槛比较低。但是缺点也很明显:内容没法一览无余,如果不倍速播放太浪费时间,倍速播放容易错过重点,所以需要比较频繁的来回切换,听重点内容。

当你入行2,3年后,阅读了很多碎片化的知识点文章,踩了不少坑,也看了多多少少一些文档,这时你的脑海里已经有了对很多知识的直接印象,但是对其背后的原理还是不甚明了,一些场景不敢确定特性,或者面试的时候无法应对打破砂锅问到底的问题,那么这时候就要开始阅读了。

编程书籍大多朴实无华,是典型的实用型书籍,没有那么多花里胡哨的修辞和言语,但是却有着较高的知识密度,尤其越是经典,知识密度越大,读起来也就越吃力。

这很正常,因为作者与你的知识水平是不一致的。而好的书是为了尽量帮助你达到与作者同一水平的知识层次,这其中个人需要付出艰辛的努力。

阅读与笔记

受疫情影响,今年没有返回北京,到是找了个好机会沉淀自己。窝在家里看书写代码写笔记。

之前趁着京东图书促销、当当图书促销前前后后买了千把块钱的书,读的也就那两三本,并且那两三本最多也就是在书上写写画画,没有形成可以输出的读书笔记。

于是借着这个机会,开始写读书笔记,可以看到自2月以来更新的博客大多都是读书笔记,而写读书笔记这件事儿,我个人也在这2个月中进行了几个迭代,下面我来聊聊我是怎也做读书笔记的。

我的桌面:

IMG_8396

  1. 阅读至少读三遍。

于是我的读书笔记第一遍就是直接摘抄整个章节,我每天的打字数量大概在1w5 左右,第一遍读书笔记我是直接照着书抄的,在打字的同时嘴里念内容,脑子里对内容与已有的知识进行关联,这其中会产生三种情况:

  • 作者叙述的知识和你本身的认知相同。,并且你知道其背后的实现原理。
    • 这种属于已经被你内化的知识,关注点就在于虽然作者与你的结论相同,但是作者和你对于知识的论述是否一致,关注点是否一致,是否有超过你的理解。如果有,则对于同一件事物的认知,你从不同角度进行了思考。
  • 作者叙述的知识和你本身的认知相同,你也对其进行过应用,但是你不清楚背后的实践原理。
    • 这种情况对于一个有一定经验的开发者回过头看书时是最多的,很多东西我们都用过,也上过生产,但是对其背后的原理与底层知识却知之甚少,或者只知道个大概,没有深究过其实现,没有思考过为什么这样实现。这种情况下就需要你在作者给出了一个论点后,自己去寻找论据,从源码,从文档,从第一手官方资料中去寻找证书,证明这个论点是正确的,或者由于版本的变迁,其实现已经改变,这个时候你就可以对知识进行自己的加工然后输出,这样的文章是有价值的,比某些互相复制互相套娃结果复制的都是过时知识的博客要强很多。
  • 作者叙述的知识你有某些地方是不懂的。
    • 这种情况继续往下读,一般作者会给出论述过程,也就是导致结果的原因。但是存在一种情况,忘了在哪看到 叫做「知识的诅咒」,就是作者没法切身处地的将自己摆在读者的位置上,他总认为读者的水平会跟作者差不多,所以某些点他认为你已经明白了其中道理,所以直接给出了what 而没有告诉你 why。 这种情况如果你不深究的话,只能说增加了知识面,但是背后的原理你不知道总是感觉立不住脚的。这种情况就需要你自己去找资料了,看别的书对同一个知识的描述也好,上网直接搜也罢,寻找补充资料学习你不懂的知识。
  • 作者叙述的知识你完全不懂。
    • 这种情况看看是不是需要一些前置的知识,或者当前这本书不适合你学习。 比如我正在精度《Java并发编程实战》,而这本书显示不是给一个完全不会编程的人入门的,所以如果你读了一本书完全看不懂或者无法理解作者要表达的意义,那么尽早去网上搜一下看看这本书的定位是什么,不要头铁硬读,浪费时间还没啥收获。但是我是认可快速阅读过一遍,将书的内容大致了解,然后日后需要时再看这种做法的。

第一遍阅读过去,你把整个章节摘抄了一遍,并做了许多自己的注释,对其进行了补充,对于自己的问题进行了求证,这样一篇笔记一般是篇幅比较长的。所以可以开始第二遍了:知识结构化梳理。

我是通过画思维导图梳理知识结构的,优秀的书籍本身就是按结构来编写的,但是这个结构可能和知识点之间的结构还有些差异,或者和你自己的知识体系对不上,这时候就需要实现自己的接口,用自己的实现来理解这些知识,画思维导图是一个非常好的方法,图片比文字总是直观很多,画完思维导图,基本上你对这一章的知识的总体架构也就了然于胸了。

第三遍:联想,拓展,归纳,总结。

比如读一本关于Java 语法 或者 Java框架实战类的书,有很多表现的背后是数据结构,是算法,是JVM,而这些知识可能书里没写,于是你可以将这些底层的知识给联系进去,自顶向下,拓展其文章的深度,这样的话这篇文章的价值又增加了。

我写读书笔记基本上是按照这个套路,但是这个套路也是在2个月之间迭代出来的,所以早期的读书笔记是是没有这么多内容的,这就涉及到”重构”这件事了,事实上只要你一直在做一件事,并且是用心做,做的同时不停的去探寻,去借鉴别人的好的做法,那你一定是越来越强的,这时候不管是代码也好,文章也好,都要不断的去重构,让之前的文章保持活力,增加价值,就像对一把武器不断进行锻造,千锤百炼出神器嘛。

同时写博客这件事儿的价值也不用多说了,建议大家看看《暗时间》这本书,关于为什么要写博客说的非常详细了,知识的主动学习就包括 “教” 这件事儿,包括费曼学习法也是传达了这个观点,而写博客就是一次教,一次讨论,一次主动学习,一次正反馈输出,坚持了两个多月,收获真的很多。

  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!
  • © 2015-2020 Ahri
  • Powered by Hexo Theme Ayer
  • PV: UV:

请我喝杯咖啡吧~

支付宝
微信