大多數(shù)程序員都習慣了平時在電腦上敲代碼,但也有些情境要求我們手寫代碼,比如平時學習時做紙質筆記,完成老師布置的課程作業(yè),同事之間交流討論講解思路,ACM比賽時手寫分析算法,還有最常見的面試手寫算法等。昨天看了康奈爾筆記法,覺得有點意思,于是想著把它應用到程序員的圈子里來,可以在面試等場合很好的向面試官闡述算法思路同時規(guī)范書寫,希望能給大家?guī)硪恍椭?/span>
一、什么是康奈爾筆記法
圖1.康奈爾筆記法
5R筆記法,又叫做康奈爾筆記法,是用產生這種筆記法的大學校名命名的。這一方法幾乎適用于一切講授或閱讀課,特別是對于聽課筆記,5R筆記法應是最佳首選。這種方法是記與學,思考與運用相結合的有效方法。
康奈爾筆記系統(tǒng)把一頁紙分成了三部分,就是左邊四分之一左右和下面五分之一左右的空間單獨劃撥出來。右上那最大的空間是我們平時做筆記的地方,你按照你的習慣記錄就行了;左邊那豎著的一條空間叫做“線索欄”,是用來歸納右邊的內容的,寫一些提綱挈領的東西,這個工作不要在做筆記的時候做,而是在上完課之后馬上回顧,然后把要點都寫到左邊,這樣一方面馬上復習了內容,另一方面理清了頭緒。下面那橫著的一欄是用來做總結的,就是用一兩句話總結你這頁記錄的內容,這個工作可以延后一點兒做,起到促進你思考消化的作用,另外也是筆記內容的極度濃縮和升華。
自從沃爾特·波克博士發(fā)明了康奈爾筆記法以來,這一筆記法被廣泛應用于聽課、閱讀、復習和記憶材料。使用這一筆記法可以讓你的筆記系統(tǒng)化,使你主動融入到知識的創(chuàng)造中去,提高你的學習力,從而幫助你取得學習成果。
二、程序員算法手寫本設計思想
圖2.程序員算法手寫本設計圖
程序員算法手寫本采用了康奈爾筆記法的三大模塊劃分原則,同時結合了程序書寫