并不推薦一上來就是看源碼,一般是當(dāng)你在某個(gè)方向上有一定的基本知識(shí)積累了才開始去嘗試閱讀。譬如c 服務(wù)器的后臺(tái)代碼,當(dāng)然是需要對(duì) linux 下的網(wǎng)絡(luò)/系統(tǒng)編程有一定的認(rèn)識(shí),甚至讀過 W.Richard Stevens 的幾本經(jīng)典之作。譬如 Django Web 框架,當(dāng)然是需要對(duì) Python 和 Web 方面有一定的認(rèn)識(shí)。不然,完全的新人去閱讀代碼,只會(huì)信心受打擊。
推薦每一位初學(xué)者在某一技術(shù)方向上有基本的積累后,可以找一個(gè)優(yōu)秀的開源項(xiàng)目,并試著閱讀。不懂沒有關(guān)系,既然是優(yōu)秀且開源的項(xiàng)目,網(wǎng)上必定會(huì)有很多的資料以及文檔,這些都能為你讀懂源碼提供很多的幫助。你會(huì)有很多的收獲,首先可以見識(shí)業(yè)界的編程規(guī)范如何,這是程序員的基本素質(zhì);可以接觸到一些優(yōu)秀的框架或者模式,這些是前人在大量的實(shí)踐中總結(jié)出來的,必定是行而有效的,夯實(shí)你在某個(gè)技術(shù)方向上的認(rèn)知;最后,就是練就你的耐心和毅力了。閱讀源碼本身是枯燥乏味的過程,我經(jīng)常看一個(gè)模塊一兩天,來來回回往往復(fù)復(fù),假使心浮氣躁,容易淺嘗輒止,半途而廢。