如何學習及利用開源代碼?


個人體會,

我讀開源代碼的四大收穫:

1. 這個功能原來還可以這麼實現!我怎麼沒想到!

2. 居然還有一個這麼好用的函數/類/介面/工具!我之前都不知道!

3. 變數名/函數名/類名/對象結構/目錄結構...寫的真好!以後我也要這麼寫!

4. 大家居然都用這種寫法?這是不是什麼業界標準呢?谷歌一下吧。


首先要學會怎麼配置編譯它.

建議從小東西下手.因為開源軟體一般文檔比較粗糙.

要讀源代碼需要耐性


開源的最大好處就是,你可以讀到代碼。多讀,多學習。


這是庄表偉的一個repo,我們把它fork過來了

https://github.com/openecnu/teach-yourself-programming-with-open-source


不管是不是開源的,感覺要想高效利用某種工具,關鍵還在於目的驅動,將更多的精力關注於要實現的目的上。


學會構建開源項目,使用,把開源項目中的思想,應用到自己項目中。那就不錯了


開源項目能完成的東西很多 ,這跟你需求相關吧。科研的如 Scilab,R ;編程的多了如python,C/C++,ruby;影音娛樂的mplayer,VLC;設計的gimp,dia;等等


推薦閱讀:

為什麼除了 Microsoft 以外的開發者都用 Linux / Unix 內核而不像 Microsoft 一樣自行開發內核?
RHCE(Red Hat Certified Engineer)紅帽認證工程師在面試的時候作用有多大?
為什麼許多常見軟體有 Windows 和 OS X 版,卻沒有 Linux 版?
怎麼才能翻過公司防火牆 訪問自己的網站?
如何理解 Epoll select 和 poll 三種模型,能否用生活中的例子做比喻?

TAG:Linux | Linux系統管理 | 開源 | 開源項目 | 項目管理工具 | Linux軟體 |