大多數(shù)程序員都習(xí)慣了平時(shí)在電腦上敲代碼,但也有些情境要求我們手寫代碼,比如平時(shí)學(xué)習(xí)時(shí)做紙質(zhì)筆記,完成老師布置的課程作業(yè),同事之間交流討論講解思路,ACM比賽時(shí)手寫分析算法,還有最常見(jiàn)的面試手寫算法等。昨天看了康奈爾筆記法,覺(jué)得有點(diǎn)意思,于是想著把它應(yīng)用到程序員的圈子里來(lái),可以在面試等場(chǎng)合很好的向面試官闡述算法思路同時(shí)規(guī)范書寫,希望能給大家?guī)?lái)一些幫助。

一、什么是康奈爾筆記法

iOS培訓(xùn),Swift培訓(xùn),蘋果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

圖1.康奈爾筆記法

  5R筆記法,又叫做康奈爾筆記法,是用產(chǎn)生這種筆記法的大學(xué)校名命名的。這一方法幾乎適用于一切講授或閱讀課,特別是對(duì)于聽(tīng)課筆記,5R筆記法應(yīng)是最佳首選。這種方法是記與學(xué),思考與運(yùn)用相結(jié)合的有效方法。

  康奈爾筆記系統(tǒng)把一頁(yè)紙分成了三部分,就是左邊四分之一左右和下面五分之一左右的空間單獨(dú)劃撥出來(lái)。右上那最大的空間是我們平時(shí)做筆記的地方,你按照你的習(xí)慣記錄就行了;左邊那豎著的一條空間叫做“線索欄”,是用來(lái)歸納右邊的內(nèi)容的,寫一些提綱挈領(lǐng)的東西,這個(gè)工作不要在做筆記的時(shí)候做,而是在上完課之后馬上回顧,然后把要點(diǎn)都寫到左邊,這樣一方面馬上復(fù)習(xí)了內(nèi)容,另一方面理清了頭緒。下面那橫著的一欄是用來(lái)做總結(jié)的,就是用一兩句話總結(jié)你這頁(yè)記錄的內(nèi)容,這個(gè)工作可以延后一點(diǎn)兒做,起到促進(jìn)你思考消化的作用,另外也是筆記內(nèi)容的極度濃縮和升華。

  自從沃爾特·波克博士發(fā)明了康奈爾筆記法以來(lái),這一筆記法被廣泛應(yīng)用于聽(tīng)課、閱讀、復(fù)習(xí)和記憶材料。使用這一筆記法可以讓你的筆記系統(tǒng)化,使你主動(dòng)融入到知識(shí)的創(chuàng)造中去,提高你的學(xué)習(xí)力,從而幫助你取得學(xué)習(xí)成果。

 二、程序員算法手寫本設(shè)計(jì)思想

iOS培訓(xùn),Swift培訓(xùn),蘋果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

圖2.程序員算法手寫本設(shè)計(jì)圖

  程序員算法手寫本采用了康奈爾筆記法的三大模塊劃分原則,同時(shí)結(jié)合了程序書寫本身的特性,共分為以下三個(gè)部分:

(1)【思路】:理清算法思路,可以圖文并茂的分析算法,寫出算法實(shí)現(xiàn)步驟、邊界條件和測(cè)試用例等,為算法實(shí)現(xiàn)奠定基礎(chǔ),好的思路不僅能有效的向他人展示你的思考過(guò)程,幫助你清晰地寫出算法,更能有效減少手寫算法代碼難以反復(fù)修改的弊端。(tip:可在“思路”上方留白處簡(jiǎn)單寫上算法題目作為標(biāo)題。)

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式