2011-12-13 50 views
2

我想知道,如果有任何易於使用的工具,爲Java,執行以下操作 -Java的相關性分析

  1. 一個工具,可以告訴我是從未在該項目的任何地方叫什麼班?
  2. 如果某些類正在調用對方,但它不是項目的一部分。
+0

你說的第2點是什麼意思?我的意思是,`Pattern`類將根據請求創建一個Matcher對象(調用構造函數),但不適用於(大多數)應用程序。如果這就是你要找的東西,你的清單可能會過長。此外,標準編譯器會爲'未使用'的引用生成警告(也包括方法/變量,儘管不一定是類)。 – 2011-12-13 21:35:53

+0

對於第2點,讓我舉個例子。如果軟件中有5個模塊,並且只有4個模塊用於運行應用程序,則意味着1個模塊從未使用過。然而,在這個模塊中,有3個類正在調用對方,在這種情況下,依賴分析會告訴我這3個類也被其他類使用。在這種情況下,第1點(在我的問題中)的結果可能是0類。 – user751637 2011-12-13 21:42:05

回答

2

您可以使用一個靜態代碼分析,如SourceMonitor。 在那裏您可以檢查每個方法的調用,並查看一個類是否包含未調用的方法。