如何高效的學習開源專案?
前言
一個好的開源專案可以提高我們的開發效率,同時它也是一個很好的學習資源,參照大牛的編碼風格和原理實現可以幫助我們養成良好的編碼習慣,學習到優秀的程式碼實踐。那麼我們應該如何高效的學習開源專案呢?
學習方法
學習學習再學習,好的學習方法可以讓我們事半功倍,我經過長期對開源專案的學習,總結出了一套學習開源專案的方法----自頂向下
,大致思路就是先掌握基本的功能、原理和關鍵設計之後再去看原始碼---看原始碼的目的是為了學習其程式碼的寫作方式以及關鍵技術的實現
。
細分的話可以分為五個步驟:
step1-安裝
通過安裝獲取以下關鍵資訊:
- 這個系統的依賴元件,而依賴的元件是系統設計和實現的基礎
- 安裝目錄也可以提供一些使用和執行的基本資訊
- 系統提供了哪些工具方便我們使用
step2-執行
特別關注:命令列和配置檔案
主要提供了兩個關鍵資訊,得以讓我們窺視系統內部執行機制和原理:
- 系統具備哪些能力
- 系統將會如何執行
step3-原理研究
專門針對原理進行系統性研究
怎樣才算系統性呢?
主要體現在如下幾個方面:
- 關鍵特性的基本實現原理
- 優缺點對比分析
原理研究的手段:
- 通讀專案的設計文件
- 閱讀網上已有的分析文件
- Demo 驗證
step4-測試
step5-原始碼研究
原始碼研究的主要目的是學習原理背後的具體編碼如何實現,通過學習這些技巧來提升我們自己的技術能力
帶著明確目的去研究原始碼,做到有的放矢,才能事半功倍,這也是原始碼研究要放在最後的原因。
這五個步驟的難度是逐漸遞增的,一般我們只需要掌握前面三個步驟就可以掌握一個開源專案了,後面兩個步驟等學有餘力再花精力去學習。不要貪多求快,與其學習若干個開源專案,不如先將一個開源專案搞通透,隨著學習的開源專案越來越多,會發現學習起來越來越快,因為很多開源專案的原理實現是有相同部分的,當然這都是需要花大精力去完成的。
學如逆水行舟,不進則退,作為技術人,技術就是我們的屠龍刃,技術就是我們的過橋梯,可以幫助我們實現人生的夢想,以術證道,掌握人生的智慧,才能讓我們活得更加灑脫。
相關文章
- 如何高效地學習開源專案
- 談談如何高效學習開源專案
- 如何學習開源專案及Ceph的淺析
- 學習開源 java 專案 gunsJava
- 開源專案學習方法ABC
- 學習開源專案的若干建議
- Halo 開源專案學習(一):專案啟動
- 20 個值得學習的 Vue 開源專案Vue
- 值得學習的C語言開源專案C語言
- 釋出 JavaScript 開源專案的學習指南JavaScript
- 誠心請教開源專案的學習
- 學習開源專案,不能選擇性眼瞎
- 什麼開源專案適合學習呢?
- 有哪些值得學習的 Go 語言開源專案?Go
- 學習React Native必看的幾個開源專案React Native
- 15款值得學習的小型開源專案 帶你快速步入開源世界
- Halo 開源專案學習(七):快取機制快取
- GitHub 上 57 款最流行的開源深度學習專案Github深度學習
- 如何高效學習
- 開源專案是如何被搞砸的?
- 如何研究開源專案的程式碼?
- 適合 JS 新手學習的開源專案——在 GitHub 學程式設計JSGithub程式設計
- 適合 Go 新手學習的開源專案——在 GitHub 學程式設計GoGithub程式設計
- Learn-Laravel -- 學習資料和開源專案集Laravel
- Halo 開源專案學習(五):評論與點贊
- Halo 開源專案學習(三):註冊與登入
- Halo 開源專案學習(六):事件監聽機制事件
- Github 上 Star 最多的個人 Spring Boot 開源學習專案GithubSpring Boot
- 10個你能參與並學習的Java開源專案Java
- 推薦一些值得學習的開源專案和框架框架
- 如何開始參與開源專案?
- 如何高效管理 React Native 專案中的圖片資源React Native
- 如何正確使用開源專案?
- 如何熟悉一個開源專案?
- 如何打造規範的開源專案workflow
- 如何靠你的開源專案經歷求職求職
- 適合 C++ 新手學習的開源專案——在 GitHub 學程式設計C++Github程式設計
- 10個完整的Android開源專案,值得大家學習借鑑Android