2008-10-25 38 views
5

給定一個大的API(特別是Java或J2EE標準庫),是否有工具或搜索引擎或其他資源可以告訴我哪些方法,類或甚至一般人最傾向於使用的包? 我註釋(見下文)的API,並希望把我的注意力集中在流行領域。 我能想到的唯一方法是使用不同方法名稱的谷歌代碼,但這當然是單調乏味的。作爲我的博士研究的一部分,我開發了一個tool,它允許用戶突出顯示方法文檔(他們自己的或現有的API)中的重要「指令」,然後推送這些註釋給用戶增加他們意識到這一點的機會。我們的實驗室研究表明,這有潛力,但爲了讓人們在該領域使用它,我必須提供註釋API的「語料庫」,並且試圖優先考慮哪些庫進行註釋。是否有最常用的Java API函數的一些統計信息?

回答

3

我不知道這樣的統計是否可行,但我認爲一個相當安全的選擇是從基礎知識加上一些着名的第三方庫開始。例如:

至於第三方

+0

這是一個不錯的起點。我會將JDBC添加到列表中。 – 2008-10-25 16:36:07

+0

是的。但是,並不是很多人直接使用網絡API。 Swing可能是最少使用的。 屬性是我與REsource Bundles一起看到的另一個非常常見的API。 – anjanb 2008-10-25 18:04:10

1

這種 「簡單」 的bash腳本會在當前項目代碼庫算最常用的類。

 
find . -name "*.java" | xargs cat | grep "^import java" | sort | uniq -c | sort -nr | head -100 
0

看起來這將可以自動執行J2SE或J2EE包的列表可以提交Koders.com,谷歌代碼或其它開放源代碼搜索庫的過程,計算每包的結果,並排序最受歡迎。

請注意,這不會給你絕對完整的結果,因爲java.lang(或任何其他隱式導入的包/類)將不會顯示在該搜索中。

我不認爲有這種信息的現有工具或發佈者,但我可能會誤解。

另一種可能性是挑一些「代表」的項目,將它們下載和使用依賴性分析工具,像JDepend,生成相關報告和處理他們得到一組在使用包/類的。

0

我想,你要根據使用頻率對它們進行排名。我建議你下載一些開源的java項目,運行一個靜態分析工具。然後在同一組運行內存分析器,並最終外推這些統計數據

0

您可以使用MethodRank指標來檢測最常用的方法,某些開源項目中的類。

您可以獲得JavaDepend的試用版,分析一些流行的java開源項目,並執行一些CQL請求(如SQL)以獲取這些項目中所有最常用的方法,類,字段。

PS:試用版足以滿足您的需求,沒有時間限制。

相關問題