在Eclipse Workspace中查找最常用的Java方法

时间:2012-02-06 15:41:39

标签: java eclipse unit-testing search eclipse-plugin

是否有Eclipse插件或其他工具或技术可以搜索整个Java项目(和/或整个工作区)并显示(以列表/可排序格式)所有公共调用的频率项目中的方法?这是“什么代码使用其他代码”最多的?

我对CTRL-SHIFT-G或CTRL-G的使用非常熟悉;一直使用它。我也熟悉Call Hierarchy视图。我正在寻找的结果可以描述为做搜索>参考文献>工作区中每个类中的 CTRL-SHIFT-G CTRL-SHIFT-G ,并计算/计算结果数量每次都有最终的可排序输出,如下例所示。

上面的概念是了解哪些类/方法最常用(不是在运行时;在这个问题中“使用”!=“执行”),以便优先考虑单元测试非常大的项目。我想开始更多地使用JUnit(比通常更多),并且找到最常用方法的想法似乎是一个很好的起点。

例如,给定三个类ClassAClassBClassC,我想要一个与此类似的摘要:

    Method                                       Number of calls
    ClassB.methodThatDoesSomethingMundane()                  134
    ClassC.methodThatDoesCoolStuff()                          78
    ClassC.methodThatDoesImportantThing()                     71
    ClassA.constructor()                                      63
    ClassB.aDifferentBoringMethod()                           37
    ClassA.getSomething()                                     19
    ... etc ... 

2 个答案:

答案 0 :(得分:2)

商业产品

JArchitect似乎有一个有趣的metrics module

  

方法等级:MethodRank值是通过在方法的依赖关系图上应用Google PageRank算法来计算的。应用中心0.15的同一性使得MethodRank的平均值为1.

     

建议:应该更仔细地测试具有高MethodRank的方法,因为这些方法中的错误可能更具灾难性。

我没有测试它,但值得一试。

但是如果你使用Java反射,我认为它不会起作用。

答案 1 :(得分:1)

您可以使用分析器(例如VisualVM,jdk / bin /文件夹中的jvisualvm.exe)。