是否有Eclipse插件或其他工具或技术可以搜索整个Java项目(和/或整个工作区)并显示(以列表/可排序格式)所有公共调用的频率项目中的方法?这是“什么代码使用其他代码”最多的?
我对CTRL-SHIFT-G或CTRL-G的使用非常熟悉;一直使用它。我也熟悉Call Hierarchy视图。我正在寻找的结果可以描述为做搜索>参考文献>工作区中每个类中的 CTRL-SHIFT-G CTRL-SHIFT-G ,并计算/计算结果数量每次都有最终的可排序输出,如下例所示。
上面的概念是了解哪些类/方法最常用(不是在运行时;在这个问题中“使用”!=“执行”),以便优先考虑单元测试非常大的项目。我想开始更多地使用JUnit(比通常更多),并且找到最常用方法的想法似乎是一个很好的起点。
例如,给定三个类ClassA
,ClassB
和ClassC
,我想要一个与此类似的摘要:
Method Number of calls ClassB.methodThatDoesSomethingMundane() 134 ClassC.methodThatDoesCoolStuff() 78 ClassC.methodThatDoesImportantThing() 71 ClassA.constructor() 63 ClassB.aDifferentBoringMethod() 37 ClassA.getSomething() 19 ... etc ...
答案 0 :(得分:2)
JArchitect似乎有一个有趣的metrics module:
方法等级:MethodRank值是通过在方法的依赖关系图上应用Google PageRank算法来计算的。应用中心0.15的同一性使得MethodRank的平均值为1.
建议:应该更仔细地测试具有高MethodRank的方法,因为这些方法中的错误可能更具灾难性。
我没有测试它,但值得一试。
但是如果你使用Java反射,我认为它不会起作用。
答案 1 :(得分:1)
您可以使用分析器(例如VisualVM,jdk / bin /文件夹中的jvisualvm.exe)。