《开源思索集》一如何更有效地学习开源项目的代码?
本節(jié)書摘來異步社區(qū)《開源思索集》一書中的第2章,第2.1節(jié),作者: 莊表偉 責(zé)編: 楊海玲, 更多章節(jié)內(nèi)容可以訪問云棲社區(qū)“異步社區(qū)”公眾號(hào)查看。
如何更有效地學(xué)習(xí)開源項(xiàng)目的代碼?
開源思索集
說說我的開源學(xué)習(xí)經(jīng)歷:
1.下載源代碼之后,首先要跑起來。編譯通過、正常運(yùn)行。
2.在你覺得最有可能的運(yùn)行到的地方,設(shè)置斷點(diǎn)或者拋出異常,這樣,就能夠找到一個(gè)項(xiàng)目在正常運(yùn)行時(shí)的入口點(diǎn)。
3.從入口點(diǎn)所在的那個(gè)源文件開始閱讀,逐步把握整個(gè)項(xiàng)目是如何啟動(dòng)起來的。
4.隨便改點(diǎn)代碼,看看會(huì)不會(huì)報(bào)錯(cuò),如果報(bào)錯(cuò),會(huì)從哪里報(bào)錯(cuò)。
5.試著把報(bào)錯(cuò)屏蔽、修復(fù)、或者繞開。
6.嘗試?yán)斫庖粋€(gè)系統(tǒng)的內(nèi)部結(jié)構(gòu),多少組成部分,主線模塊是哪些?輔助模塊是哪些?
7.從實(shí)際需要出發(fā),修改這個(gè)項(xiàng)目,滿足自己的某一個(gè)小的需求。
在此之前,盡量不要在網(wǎng)絡(luò)上找答案。
8.看看相關(guān)的討論與心得,看看是否與自己的理解相一致。
9.提交bug fix或者某個(gè)新的功能代碼。
在學(xué)習(xí)開源的過程中,有以下幾個(gè)方面會(huì)獲得大量的收獲:
1.架構(gòu)與模式
2.開源社區(qū)常見的一些慣用法
3.相關(guān)領(lǐng)域的結(jié)構(gòu)與算法
總結(jié)一點(diǎn)是:學(xué)習(xí)開源,就盡可能在代碼里找答案,而不是在代碼之外找答案,那些都是二手的,而且很可能是不準(zhǔn)確的。
總結(jié)
以上是生活随笔為你收集整理的《开源思索集》一如何更有效地学习开源项目的代码?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ROS机器人程序设计(原书第2版)3.4
- 下一篇: CCF NOI1123 A-B