並不是要看最新的**,正確的學習步驟是:
clone某個專案的**到本地;
檢視這個專案的release列表;
找到乙個看得懂的release版本,如1.0或者更早的版本;
讀懂上乙個版本的**;
向後閱讀大版本的原始碼;
讀最新的原始碼。
同時,建議在這個過程中,可以自己造輪子來實現一遍。
以linux原始碼的學習為例:
**來自《linux核心0.11(0.95)完全注釋》。
根據《gnu風格的版本號管理策略》,主版本號、子版本號和修正版本號的修改依次對應重大或很多修改導致的專案全部變化、增加部分功能和區域性的修改。所以閱讀**的時候,要從基本版本開始,每次重大的release也需要關注一下。
入手可以從square、facebook、jake大神和support庫等各種android庫的原始碼開始。
開源框架之學習方法
這段時間準備重新系統學習下struts2,無意間搜到一篇介紹struts2的學習的文章 url 作者並沒有直接的介紹struts學習的內容,而是開篇給讀者介紹了如何有效率的去學習乙個開源框架,作者的一些觀點我很是贊同,現將學習方法寫在下面,為以後的學習提供方向。b 1.閱讀,仔細閱讀,反覆閱讀每個開...
Qt Lmms 優秀的開源軟體學習
lmms裡面有很多優秀的開源控制項是學習qt的乙個錯的資源。lmms的控制項中自定義繪圖等還可以學到一些架構設計方面的知識。github 2.1k star 所需的庫版本說明 qt5 5.0.0 推薦超過 qt4,請參見下面使用 qt5。qt4 4.3.0 可選而不是 qt5,4.4.x 推薦 li...
如果學習開源框架
當我們在學習乙個開源框架時,成熟的開源框架一般都會非常龐大,各個模組 包之間會有依賴關係,而如果只是修改開源包的話,始終覺得不能真正地從根本上理解 實現乙個開源框架。如果自己去模仿著寫乙個的話,也會非常痛苦,因為想實現模組a,但是寫著寫著,發現模組a依賴了太多其他模組的東西,導致無法繼續模仿下去。有...