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

一瑜一琂發表於2022-03-18

上一篇,我們通過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展示結果

 

 

總結

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

 

相關文章