簡體   English   中英

如何理解開源項目/庫?

[英]How to understand Open Source projects/libraries?

我們在項目中使用的開源項目/ API /庫很少( Spring, Struts, iBatis等),我想了解它們的設計以及它們如何在內部工作。

了解這些項目的最佳方法是什么? 請注意,我已經在我的項目中使用這些庫。 我知道這些庫的輸入輸出交互/配置。 我不明白的是這些API /庫如何在內部工作。

我面臨的問題是:

  1. 查找庫的入口類。 有什么方法可以讓我知道庫的入門類 - 這是一個踢完整個API的東西嗎?
  2. 在Eclipse中使用的工具/插件,用於概述庫的設計。 瀏覽圖書館的每一課,都是一項非常艱巨的任務。 是否有任何想要推薦的工具可以在Eclipse中生成API的類圖。

提前致謝!!


更新 :我需要一些關於eclipse插件的輸入,它可以幫助我獲得庫的概述/類圖

我總是使用相同的策略:我從不試圖“理解”代碼庫作為一個整體,我通常會嘗試遵循請求流程。 我閱讀了足夠多的文檔來確定使用該應用程序的必要條件,並且我閱讀了代碼(在IDE中加載所有源代碼)。

例如,在struts中,您將在web.xml中安裝servlet過濾器。 開始閱讀過濾器並按照單個請求通過堆棧的路徑。

同樣對於spring,有兩個主要入口點,過濾器和“getBean”,兩者都在文檔的早期提到。 閱讀這兩個。

對於這兩種情況,您將找到一個或兩個快速實現框架“核心”的類。 仔細閱讀這些內容,讓實際使用案例和需求推動您的進一步探索。

通過嘗試查找所有部分來接近“理解”開源庫(或任何其他代碼庫)通常不是處理這些事情的一種非常好的方式,它通常只會導致無處,因為很多這些事情包含太多代碼。 當遵循請求流程時,我發現制作圖表也會讓人非常分心,它往往會引起注意力/注意力遠離理解(並且由於我的理解迅速增加,因此大多數圖表甚至在到達打印機之前就已經過時了)。

好問題!!!,我所做的,特別是在Spring的情況下,除了咨詢文檔和他們的API之外,將項目的源代碼附加到我在Eclipse上的項目,這樣我就可以瀏覽源代碼,而不僅僅是API。 它特別適用於Spring-Security項目,在我檢查源代碼之前,有些概念我無法理解。

這是使用開源庫的優勢之一。

問候。

Structure101( http://www.headwaysoftware.com/products/structure101/index.php )和Lattix( http://www.lattix.com/ )等工具可讓您分析代碼並生成架構圖/依賴矩陣。

這不完全是類圖 - 主要關注的是分層。 所以入口點通常是最頂層。

但話說回來,正如我上面指出的那樣,你會注意到一些lib只是一團糟,而且這些工具不夠用。

請參閱S101在線演示: http//www.structure101.com/java/這是Sonar項目架構的示例: http//www.structure101.com/java/tracker/sonar/1.11.1/arch.html

這三個人最好的選擇是查閱官方文檔(確保您正在查看您正在使用的版本)或獲取有關該技術的書籍。

大多數API沒有帶main方法的類; 它們在服務器本身調用的Web服務器中運行。 除非它們作為自己的服務器運行,否則它們將沒有主要方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM