如何學習開源代碼?有什麼好的書籍可以引導初學者學習?

求教。


推薦《代碼閱讀 (豆瓣)》,其原書名為《Code Reading: The Open Source Perspective》。


stl源碼剖析.侯老寫的書就是好.


閱讀源碼其實是需要多方面技能的結合的。比如:要理解為什麼這樣設計, 這就需要設計模式方面的知識;一些相關的演算法,你要看懂,這至少就需要你有一定的數據結構和演算法的知識。還有,學習開源代碼,是為了豐富自己,對比別人和自己代碼的差異, 這也需要自己寫過一定的代碼。總之, 這是一個多方面結合的活兒,不好獨立起來。


這個應該是根據不同的開源項目而已吧,我看的開源項目也不多,主要就是nginx/leveldb/redis/libevent,你要是想做高性能伺服器開發的,我覺的這幾個開源項目比較適合閱讀,閱讀的同時,你可以參考前人的分析文章,一邊看源碼,一邊對照著分析,剛開始的時候可能會比較慢,一但你閱讀的開源代碼行數在30W行左右,以後再閱讀開源代碼就會如履平地了~~

其實,最關鍵的一點還是,你閱讀開源代碼的目的是什麼,帶著這樣的目的性閱讀,你能從開源項目中收穫很多東西,有了目的後,就是分析開源代碼的方法了,這個你需要自己積累,自己體會了~


推薦閱讀:

用 C++ 實現大整數的加減,思路是什麼?
為什麼計算機語言中的變數名都不能以數字開頭呢?
對於程序員來說,哪些網站代碼比較多比較全,問題解決比較快?
go有哪些快速開發的web框架?
在軟體開發中,追求新的技術意義大嗎?

TAG:編程 | 軟體工程 | 開源 | 開源社區 |