Note on Note

16 Jul 2013 by fleuria

很庆幸在学校里养成了记笔记的习惯,对于我这种理解力与记忆力都很差又懒于动手实践 1 的人而言,如果不试着记录一点东西,学习就全无进展可言了。

当时几乎旷掉了所有的课去图书馆看书,捎一本笔记一把尺子,随着看书划下重要的句子,随着记录一部分划下的句子。有买过几本大的本子用来尝试系统地记录笔记,操作系统一本、计算机网络一本、编译一本,尽量工整地记录。然而在开始记录时就意识到了这个事实:这些本子以后是不会怎么看的。意识到这点之后,仍在这些本子上写了不少东西。即使以后不看,我依然相信记录在纸质的介质上仍有好处:眼睛阅读的速度远大于大脑理解的速度,用笔记录可以放慢阅读的速度,同时作为一种输出,确保真正读下了这段句子。甚至大脑理解的速度仍要远大于用笔记录的速度,在成本上其实很容易接受。

然而,组织笔记的结构却成了一个头痛的问题。再者,尽量保持笔记的工整,导致了许多不必要的工作量。目的终究是看书,不是写笔记。慢慢地越发倾向于抛弃笔记的结构,直接将重要的句子提炼出来,按照平坦的结构记录到小本子上。到现在已经快写完了两本小本子,效果特别好,每当想温习功课时,都能够很快地翻完。笔记的阅读速度既然远远大于记录的速度,那么应当优先考虑写优化,就像 Log Structured FS 那样。

工作之后没有那么多时间来看书了,也越发的感觉到一个瓶颈,原先的学习方式仅面向书本而已,进入工程领域,字面上的知识终究是虚幻的。以至于刚刚开始参加工作时着实手忙脚乱了一段时间。任务偏碎片化且多路并发,企图靠纸和笔记录工作中的事务,已完全不能行了。记录还好,更大是败在检索上。团队都会使用 bugzilla / trac / trello 这种工具来记录工作进展或者整理工作资料,但是无法替代个人的工作记录与检索。这一状态直到用上 Evernote 才有所缓解。随后对于小型的任务,直接记录在 wunderlist 里面作为备忘即可,对于稍微大块一点的任务则在 Evernote 中新建一个笔记,记录与任务相关的所有资料,慢慢的形成了大约这样的结构:

  • TODO: 自己划分的子任务
  • 修改的文件 / 用到的函数 / 牵涉到的数据表
  • 测试点: 确保交付同事之前自己测试了这些重要的地方
  • snippets: 任务中经常用到的命令或者代码,比如单独跑某个文件的测试。
  • issues: 遇到的问题及相关解决办法
  • notes: 杂项笔记

对于不同复杂度的任务,可以随性地调整不同的段落。随后与协作的同事沟通,只要复制粘贴一段就行。至于这些内容中较为通用的一部分,则可以留在日后整理成一份单独的笔记。

此外业余时间看乱七八糟的资料,也会根据主题创建单独的笔记,结构仍可以放平坦,像这样: spotify 。在移动设备上能够自动同步,重温起来也挺舒服的。

抛开工作用笔记不谈,这类笔记仍存在一个问题,便是没有反馈。一个可行的方案是在 evernote 里面平坦地记录笔记,随后及时整理到 blog 上。此外,相比只给自己看,向别人表达更加考验对知识的理解程度。blog 更新的频率已经大不如从前了,然而反复想来,无论如何都比刷什么微博豆瓣有用。以后还是尽量多写一点 blog 吧, 哪怕理解得不成熟也好,只要有一个懂的朋友就可以指出它的错误。自我陶醉的封闭的学习无疑已经过时了。