今天有小夥伴群裡問我該如何讀原始碼,問題和解答如下,希望對大家有幫助:
問題:那如何正確的看原始碼,最近想看redis,不知道從哪方面下手。
回答:你首先要知道你要看的原始碼做了什麼,是你的話該如何做,帶著這種思考再去看,從頂層的設計開始,摸清整體節奏,也就拿到了骨架,然後再豐富細節,也就是**細節。我自己的話 現在是培養出了語感,基本上看到**大概就知道對方下一步該怎麼設計,怎麼實現,偏差很小。
不管怎樣,還是要多看,不要怕,語言是用來表達的,**就是最好的教程,很多優秀的**庫都是抄的,這個我在解讀reactor-netty
庫的時候,有將它和reactor
的**設計做對比,很明顯的設計抄襲,springcloud function
這個元件,說實在的也是函式式技法的總結使用,這些技法在reactor
reactor-netty
webflux
中都有大量的實現,所以spring
才給抽取出來。
擼**就和寫文章一樣一樣的,寫之前列大綱,設定所描述場景的內在聯絡,表達的中心思想,然後融入各種技巧,比如比喻,擬人等等,最後也就是通過這些賦予文章的靈魂。
還有一點,我是覺得,讀原始碼少用debug
,這個是面向過程的讀法,最好是面向場景,才能更好的物件導向,面向設計。debug
從來都是用來做除錯的,並非是看原始碼的最優選擇。
github.com/muyinchen/s… 我的原始碼解讀系列,感興趣的可以看看,雖然都是關於響應式這塊的,以後的話,會加入大家感興趣的。
談談我讀原始碼的心得
其次,我想說,當發現讀 用到的核心演算法自己不懂。這時,我想,再硬著頭皮讀,意義不大,還不如先把核心演算法搞明白再說。比如,讀gem algorithms時,遇到紅黑樹,我就先去翻演算法導論,去找這個演算法。再去啃 總之,一定不要害怕讀原始碼,先要樹立信心,別人是乙個腦袋,我也是乙個腦袋。別人能寫出...
我讀Mongoose原始碼 程式框架
mongoose是一種web伺服器,因為最近在學習網路程式設計,所以打算研究研究它的原始碼,認真看了大部分,覺得學到的東西的確不少,拿出來分享一下,也和大家交流交流 剛開始,也是看作者的文章才產生興趣讀原始碼,所以分享很重要 o 如果想快速的閱讀原始碼,可以先預覽一下usermanual.md這個檔...
讀HashSet原始碼
先看建構函式 public hashset public hashset int initialcapacity public hashset int initialcapacity,float loadfactor 這個構造方法不是public的,僅用於linkedhashset.hashset ...