如何通過閱讀文檔,構建概念模型?

上一篇,我們通過demo,構建了黑盒模型,大致瞭解了項目與demo的關係,以及一個初步流程。
本篇是《如何高效閱讀源碼》專題的第五篇,通過閱讀文檔,來了解項目的概念模型,以及驗證和完善黑盒模型。

本節內容如下:

  • 爲什麼要閱讀文檔

  • 到哪裏去閱讀文檔

  • 如何閱讀文檔

  • 如何構建概念模型

  • 通過概念模型驗證與完善黑盒模型

爲什麼要閱讀文檔?

Linus大神說過這麼一句話:「Talk is cheap,show me the code」!廣大程序員都奉爲聖經!只是可惜,絕大部分程序員都達不到Linus大神的水平。

對於一個代碼量巨大的項目而言,不論它設計得多麼的精妙,如果沒有文檔的話,一般人很難通過閱讀代碼來理解項目邏輯。而一個清晰明瞭的文檔,對理解項目來說有很大的幫助。

到哪裏去閱讀文檔

我想沒有誰能比項目的開發者更瞭解自己的項目了!所以,最好的文檔就是官方文檔。強烈建議直接閱讀原文,因爲翻譯的文章,多多少少都帶有個人理解,可能理解的是對的,也可能理解的是錯的。翻譯的文章可以作爲參考,以鑑別自己是否理解錯誤。

除了官方網站,也可以通過谷歌搜索一些比較好的技術論壇或博客,來閱讀對應的博客或帖子。官方文檔一般都是比較完整的講述項目,而博客或帖子可能會從一個點來詳細的描述這個項目,對一開始還不是很瞭解項目的人來說,可能更容易理解一些。

在理解了這些點之後,還是要閱讀官方的文檔,來將這些點給串起來,這樣才能對這個項目有一個完整的理解。

如何閱讀文檔

文檔的閱讀不可一蹴而就,就以Spring的文檔來說,Spring下的子項目有很多,每個子項目都有文檔,少的也有大幾十頁,多的甚至上千頁,要一頁一頁的看完,是完全不可能的。那我們該如何去讀呢?

我們要有目的的去讀文檔。我們理解項目的階段不同,目的也就不同。例如,我們現在需要對項目有一個大致的瞭解,需要能構建項目的概念模型。那我們就要去找描述項目概念的相關文檔。

以JUnit爲例子,它的官方網址是:https://junit.org/junit4/。我們需要找到網站裏描述相關概念的文檔。我們會發現,首頁就有對應的條目:

 

 

 

通過閱讀上面列表的文章,我們能大概瞭解到JUnit中有哪些概念:

  • Assertions:斷言,用於判斷測試結果是否符合預期

  • TestRunners:測試執行,各種執行測試的方式。包括下面的參數化測試、理論測試,以及執行JUnit3的相關類等

  • Suite:套件,批量執行測試的類

  • Rules:規則,擴展JUnit的功能,靈活地改變測試方法的行爲

構建概念模型

從上面的幾個概念,再結合我們之前的理解,我們就可以得到一個大致的概念模型:

  • 各個Test是測試用例

  • TestRunners用來執行各種測試

  • Assertions用於驗證測試結果是否符合預期

  • Suite用於批量執行測試

  • Rules用於改變測試的行爲

圖片

 

 

通過概念模型驗證與完善黑盒模型

通過上面的概念模型,結合前面的黑盒模型,我們可以完善黑盒模型:

  • 我們既可以編寫測試用例Test,也可以編寫測試套件Suite

  • 測試套件Suite可以添加多個測試用例Test

  • 通過TestRunners來執行測試

  • 通過Assertions來驗證測試結果是否符合預期

  • 通過Rules來改變測試的行爲

  • 最終通過Result展示結果

 

 

總結

本文通過對文檔的理解,梳理出概念模型。並通過概念模型來完善黑盒模型。實際上,隨着我們對項目的理解,黑盒模型會慢慢的變成白盒模型。
有了對項目的概念模型後,下面我們可以真正的來閱讀項目源碼了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章