🎯 什麼情境該想到我

當你要讀一本技術書學新東西,卻發現讀完就忘、或者讀了很多卻抓不到重點的時候。

出處:Andy Hunt《程式設計師的思維修煉》(Pragmatic Thinking and Learning,站內為簡體譯本,引文保留原書字形)。對應第 6 章 6.7 節。SQ3R 原出自 Robinson 的《Effective Study》。

⚙️ 怎麼用

前提:閱讀是效率最低的學習方式

原書說:「书面的指令通常被认为是最无效的」;「相比于任何由经验式的学习方法,阅读是一种效率最低的学习方法」。要讓閱讀有效,就要讓它更主動。

五個步驟

步驟原書的說法做法
調查 Survey「扫描目录和每章总结,得出总体看法。」看目錄、各章的介紹與總結,在深入細節前得到整體印象
問題 Question「记录所有问题。」寫下你想弄明白的所有問題;「把各章节的标题改写成问题」
閱讀 Read「阅读全部内容。」可以隨身帶著,空檔時讀;「在困难的部分放慢速度,如果内容不是很清楚就重新阅读」
復述 Recite「总结,做笔记,用自己的话来描述。」邊讀邊用自己的話復述、回想;原書也建議用圖像:「这个主题作为一部电影看起来像什么?卡通吗?」
回顧 Review「重读,扩展笔记,与同事讨论。」必要時重讀、擴展筆記,可以用心智圖

原書的例子:讀一本新程式語言的書

  • 調查:翻目錄,看到語法介紹、幾個簡單的專案,還有目前不感興趣的進階特性。
  • 提問:它是單繼承、多繼承還是混合?迭代器怎麼用?模組怎麼建立與管理?執行效能如何?
  • 閱讀:時間多就多讀,時間緊就少讀。
  • 復述:「自欺欺人并不难,你可以认为”是的,我能记住全部”。但是这并不容易。」
  • 回顧:做筆記、在關鍵表格上註解、在白板上塗鴉,然後跟朋友或郵件列表討論。

側欄:測試驅動學習

「重复阅读同样的材料或者重复学习相同的笔记,不会有助于你记住材料。尝试测试吧。」做法包括:

  • 用新語言寫一個程式——原書特別強調要「与书中的简单例子和练习不同」。
  • 向同事解釋新方法的關鍵部分。
  • 間隔測試:2-2-2-6——兩小時、兩天、兩週、六個月後各測一次自己。原因是遺忘大致呈指數曲線,間隔測試能顯著增強記憶。

結合心智圖

讀書時用心智圖做筆記;進入回顧階段時,依你的理解重畫與修改——「这种方法比其他笔记形式或者重新看书要有效得多」。

在工作中的樣子:讀一份新框架的官方文件

  • S:看文件的側邊欄目錄與「Getting Started」。
  • Q:這個框架怎麼處理錯誤?怎麼測試?效能瓶頸通常在哪?
  • R:先讀跟你的問題有關的章節。
  • R:讀完一節,關掉文件,用自己的話寫三行摘要。
  • R:用它寫一個跟教學範例不一樣的小工具;一週後再回來看筆記。

🧪 我實際套用的紀錄

  • (待填)

⚠️ 注意 / 什麼時候不適用

  • SQ3R 只是其中一種方法:「广为使用的好方法为数不少……与其功效类似的方法还有很多。」「没有放之四海而皆准的办法。」
  • 2-2-2-6 不是最有效的:原書自己說它「不是使用时间的最有效方法,特别是当有大量的材料时」——每個事實的遺忘曲線不同,手動追蹤太困難,建議用 SuperMemo 這類間隔重複軟體(依每個項目的遺忘情況安排複習)。
  • 閱讀本身仍然是效率最低的:最有效的是觀察與模仿,以及實際去做。

🔗 相關工具