更新時間:2020-03-04 11:11:53 來源:動力節點 瀏覽2110次
不管對于哪個段位的程序員來說,讀源碼都是一件好處頗多的事情,特別于初學者而言,這能迅速的吸納優秀框架精華代碼營養,迅速成長。不巧的是,晦澀難懂的源碼,很容易讓人心生怯意。今天分享一下讀源碼的方法。
一、了解框架解決了什么問題
這不光對讀源碼有幫助,對整個學習都很有幫助。思考一個問題:你學習Vue\React的原因,除了它們如日中天,再不學習都不好意思找工作了,還摻雜了一些它們的某些優秀特性能給我帶來某些好處的思考么?
新潮的框架,開發者需要而且也應該去了解,相比之前的技術體系,這個框架到底解決了什么問題,優勢在哪,懷著目的去學習才不至于迷茫。例如Vue\React最大的優點是什么呢?組件化吧,帶著框架是如何解決這個問題的疑問去學習,定能事半功倍。
二、了解框架的設計思想
我們看不懂源碼(或者看起來舉步維艱),并不是因為不懂某一句語法,而是不明白作者的思路。舉一個簡單的例子:
getAngle方法接收三個坐標參數,可以計算出point2頂角的弧度值,如果不告訴你這使用了運用三角形的余弦定理,恐怕你看半天也看不出來這是怎么算出來的。
了解框架的設計思想的方法:
1.到框架的官網看文檔。開源的框架,甭管詳不詳細,這肯定是第一手權威資料
2.到網上搜別人的分析總結(源碼分析也不會少),大多數情況下,都會有大神已經研究過了,站在巨人的肩膀上,能省不少事
另外,設計思想是整個框架層面的,對于每一個實現細節,又會使用不少設計模式,例如函數式編程(Js中最為常用)、單例模式、代理模式、工廠模式等等,這就需要平時的積累了。有一定代碼量的積累之后,建議閱讀一些設計模式類的書籍,對自己的代碼設計,以及閱讀別人的源碼,都很有益處。
三、搭建調試環境,摸清執行主脈絡
細分到每個模塊,要對模塊功能有個整體的把握,如何去做到這個“把握”?除了官方文檔和網上查閱的資料,最好的辦法就是寫一個簡單的Demo,搭建好測試環境,增加一些調試信息,自然能理清除框架的生命周期中,每一步需要調用那個模塊(對于目錄結構很清晰的優秀框架,有時候也可以憑直覺猜測,打印日志確認)
四、分清主次
框架源碼就是一顆枝繁葉茂的參天大樹,而你要做的事情是從根部往上爬。樹要這么多分支,時間又是這么昂貴,閱讀的策略很重要。我們的閱讀路徑,要以主要流程為主(也就是樹的主驅趕,這樣才能盡可能快的到達頂點),對于一些細枝末節,再這之后再來慢慢啃(或者有必要的時候)。
例如,要去閱讀Vue的源碼,有個目錄是解析模板,生成語法樹AST從而最終生成RenderFunction的,其實這一步最關鍵的是這個RenderFunction的生成結果,對于如何去解析模板、生成語法樹,可以先放一放,回頭需要的時候再回頭看。否則你很容易卡死在某個點上出不來,從而產生放棄的念頭
如果有人領路呢?看過小說的都知道,沖關的時候如果有人指導,借鑒前人的經驗,可以少走很多彎路。人生不過數十載,何不把時間節省出來去多學點東西,多做點有意義的事情。
以上就是動力節點Java培訓機構小編介紹的“程序員如何Java框架學習”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習