程序员的效率指南 —— 笔记篇

工欲善其事,必先利其器。高效的工作、学习方法,能够事半功倍,这是我们都知道的。关于效率,如今已经有很多成熟的方法论以及工具,同时它们也是普适性的,缺乏对程序员这个特殊群体的针对性指导,于是就有了这个系列的指南。”

本指南的第一篇文章,我们来谈谈在学习的过程中,最容易被忽视的一个环节 —— 笔记。

从原则到实践

这里有一条原则,是我们谈及效率的方法论时所避不开的,它十分简单,就是两步:

  1. 收集
  2. 整理

记笔记这件事,也是遵循这两步!

而我们可能只做到了第一步收集。无论是印象笔记还是有道云笔记,大家用的最顺手的功能就是它的「剪裁」了。鼠标轻轻一点,笔记本就新增了一篇好文,那一刻,仿佛自己也轻松收获了新的知识。随后,这篇文章就被扔在那儿不管了。久而久之,文章越来越多,这已经不是笔记本了,更像是仓库,更像是杂货间。

所以整理这一步是最重要的,没有经过整理的笔记不能称之为笔记,顶多算作是摘抄。

打开笔记软件,这里以印象笔记为例,建立两个笔记本,分别对应原则中两步:

  • 收集箱 — 无论是剪裁(将剪裁的默认笔记本设置为它),还是大脑中一闪而过的灵感,我们都应该先放入这里。仓库的角色应由它来扮演。
  • 知识库 — 定期清理「收集箱」,将清理好的笔记存入这里。它才是真正意义上的笔记本。

  • 对于剪裁而来的文章,只收集经过自己的思考和消化的内容,再附上原文链接或部分索引。

  • 对于自己的灵感随笔,进行二次总结和归纳。

善用笔记软件的「标签系统」,在整理的时候,对所有的笔记都打上相应的「标签」,刚开始凭感觉打就行,后期回顾的时候再慢慢修改。

之所以使用标签而不是文件夹的形式来管理自己的笔记,是因为,一篇笔记只能放进一个文件夹,却能拥有多个标签,用标签代表笔记的类型和领域。标签的数量代表了知识横向上的广度,而每个标签下的笔记数量则能代表相应知识纵向上的深度

代码片段与 Gist

不同于其他群体,程序员们的笔记中有很大一部分,都是围绕着某一段代码进行的。代码片段不同于普通的文本,对格式是有要求的,这是为了方便阅读以及二次编辑。记录这样特殊的内容,普通的笔记软件是远远不够的。程序员交友社区 Github 已经为了我们提供了一个非常好的服务:Gist,Gist 可以帮你托管某个代码文件或是某个代码文件中的某个代码片段,每一个 Gist 都是一个 Git 仓库,这意味着它能被 clone、fork,当然也可以直接链接分享。如果你愿意的话,你还可以通过 Gist 将代码插入自己的博客中。

如何用 Gist 管理我的代码?Gist 的创建操作十分容易,直接网页端操作即可。当然,有更方便的方法,现如今主流的 IDE、编辑器都支持并整合了 Gist 的功能。比如广受欢迎的 IEDA 系列:

对于 Gist 的查看和编辑,网页端的管理功能就不是那么让人满意了,在这里,我推荐使用 Lepton,这款使用 Electron 编写的跨平台客户端,被赞誉为「程序员的印象笔记」。

屏幕快照 2019-03-06 05.22.32.png

这里友情提醒一下,畅快地使用 Gist ,需要通过科学上网的方式,原因大家都懂的。

笔记的终极奥义

会的知识,不一定会表述出来。将头脑中的知识或想法与人进行交流,对知识是一种很好的自我巩固、自我优化。而最好的交流方式就是文字,容易被复制,容易被传播。所以记笔记的终极奥义就是将其写成文章,写文章是一个将自己所学知识、所记的零散笔记进行系统化的过程,在这个过程,你会不断加强对知识的认识、发现并弥补自己的不足。所以,当你记了很多了笔记以后,我建议你挑一个出来,试着写成文章。