當前位置:成語大全網 - 新華字典 - 如何通過閱讀源碼來學習優秀開源框架

如何通過閱讀源碼來學習優秀開源框架

對於開發者來說,社區裏豐富的開源代碼其實是筆極為寶貴的財富。如果能充分利用好開放源代碼的資源,不僅可以掌握多種編程方法,提高實踐能力,還能獲得好的思想,激發編程靈感。開源代碼怎麽學以及怎樣才能學好是大家經常關註的話題,日前,在問答網站知乎上,有人拋出了“如何更有效地學習開源項目的代碼?”的話題,眾技術好手各抒己見,CSDN軟件研發頻道對本文內容進行了整理,方便大家學習與參考。盛大創新研究院研究員 莊表偉:學習開源 盡可能在代碼裏找答案 莊表偉提供了以下9個建議:1.在下載源代碼之後,首先要跑起來,編譯通過、正常運行;2.在妳覺得最有可能運行到的地方,設置斷點或者拋出異常,這樣,就能夠找到壹個項目在正常運行時的入口點;3.從入口點所在的那個源文件開始閱讀,逐步把握整個項目是如何啟動起來;4.隨便改點代碼,看看會不會報錯,如果報錯,會從哪裏報錯;5.試著把報錯屏蔽、修復、或者繞開;6.嘗試理解壹個系統的內部結構,多少組成部分,主線模塊是哪些?輔助模塊是哪些?7.從實際需要出發,修改這個項目,滿足自己的某壹個小的需求。(註意在此之前,盡量不要在網絡上找答案);8.看看相關的討論與心得,是否與自己的理解相壹致;9.提交bug fix或者某個新的功能代碼。在學習開源的過程中,有幾個方面會獲得大量收獲,1.架構與模式;2.開源社區常見的壹些慣用法;3.相關領域的結構與算法。總結壹點:學習開源,盡可能在代碼裏找答案,而不是在代碼之外找答案,那些都是二手的,而且很可能不準確。互聯網評論員 朱曉陽:從簡單做起 理論聯系實踐朱曉陽對此發表了兩點看法:首先,從簡單做起。剛開始的時候學習壹些領域內基礎理論,然後找壹些簡單的東西去實現,不能壹開始就去找開源項目。建議大家經常動手寫壹些小程序,如改進宿舍網絡登錄客戶端等。積小成多,能顯著提高自己的編程能力。其次,學習的知識壹定要和自己生活或工作有聯系,這樣才會有樂趣或動力。互聯網評論員孫竟:先構想壹個想做的項目首先,構想壹個想做的項目(比如論壇、博客、微博等);然後,思考需要什麽功能,應該怎麽去實現,盡可能包括各種細節,有必要時記錄下來;最後,去找個類似的開源應用,看看它是怎麽實現的,和妳的想法有什麽差異,有什麽可以學習或需要改進的地方。互聯網草根hqman:我的5個建議:1.反復地使用軟件,熟釋軟件的組成文件和軟件功能,註意IE地址欄內的地址變化;2.打開數據庫文件或存放數據的XML文件,參照數據字典了解各個表和字段的數據含意;如果沒有數據字典,就運行軟件輸入數據,參照所輸入的數據,了解各個表和字段的數據含義;3.利用Visio進行反向工程,將類圖抽出來;4.研究類之間的關系,註釋各個類的屬性和方法,弄清程序的整體框架;5.另開壹個項目,按照軟件開發的流程,將代碼分段復制進新的項目,進行編譯調試,關註壹些實現細節,學習壹些編程的技巧。在讀研究生張偉:在校學生空閑時間多參加壹下比賽張偉的建議是大家在空閑時間多參加壹些比賽。壹個完整的項目,不管再小,只要做完了,就會有收獲。多看壹些比較大的開源項目源代碼,每次看完後都會受益匪淺。從網上成熟的開源代碼裏,可以學到很多的設計思想。他認為,從項目入手,以項目為驅動,可激勵自己進步。當然,是否壹定需要看開源代碼,這將取決於個人的興趣和需要。畫出程序流程圖 理解程序流程思想CSDN博客專家i_like_cpp:曾在CSDN分享了《如何將源代碼學好》的博文,對此,他給出了四點建議:1. 畫出整個程序的流程圖,理解整個程序流程的思想。畫流程圖的方式更讓人很直接的理解程序的整體流程,而不會被代碼所幹擾,讓程序員總體上把握整個程序;2. 對流程各節點(函數或過程)的理解,流程的每壹節點是構成整個流程的不可缺少的部份;3.再把流程和流程各節點串起來理解整個程序,可能的話最好寫出讀書筆記;4. 如果想深刻的學習到源代碼的精髓所在,請寫壹個相近的程序進行操練。理解了這個程序並不表明掌握了這個程序,只有在操練壹個相近的程序時,才知道妳到底理解了多少,掌握了多少。編後語:源代碼的學習是壹個從整體到不斷細化的過程,是壹個極為繁瑣的過程同時也是壹個不斷認清事物本源的過程。本文總結的源代碼的學習經驗,希望對您有所幫助。那麽,CSDN的網友們,妳們是如何對待開源項目源代碼的呢?