先写问题,再写答案
开始学习前,先在纸上写下这次想弄明白的问题。例如,学习网页时可以问:浏览器收到一份 HTML 后,是怎样把它变成页面的?问题越具体,查资料时越容易判断哪些信息有帮助。笔记也因此有了清晰的边界。
用自己的话解释
读完一小段内容后,暂时合上资料,尝试用自己的话解释给一个刚接触它的人。如果只能重复原文里的术语,却说不清术语之间的关系,通常说明还需要继续理解。可以把没有说清的部分标成问题,稍后再查,不必立即把整段原文复制进去。
保留一个可以验证的例子
抽象的概念最好配一个小例子。学习编程时,可以保留一段能够独立运行的代码,同时写清输入、预期输出和实际结果。遇到错误时记录触发条件和处理方法,方便以后再次核对。例子不需要大,只需要能说明当前的问题。
区分事实、理解和疑问
资料中明确说明的内容、自己根据例子得出的理解、尚未验证的猜测,可以分别标注。记录资料来源和阅读时间,也有助于以后判断内容是否已经变化。笔记可以随理解加深而修改,留下修正的理由往往比保留一个看起来完美的答案更有价值。
隔一段时间再回来
复习时先看问题,尝试不看答案重新解释。如果解释不出来,就回到那个小例子。学习的进度不只体现在笔记页数上,也体现在能否独立完成一件以前不会做的小事。