【问题标题】:Check method usage in project检查项目中的方法使用情况
【发布时间】:2018-02-17 07:02:47
【问题描述】:

我已经从几个 git 存储库中克隆了几个 Java 项目,我想知道使用特定方法的哪些方法以及使用频率。

当我在网上搜索时,我只能找到关于方法在运行时被调用的频率,或者有多少对唯一方法的引用,而不是对相同方法的多少引用。

编辑在 Eclipse 中使用搜索功能也是不可能的,因为虽然它显示了某个方法的使用位置,但我需要在相当多的接口中搜索超过 400 种方法。

【问题讨论】:

  • 在一个工作区中获取所有项目并使用 Eclipse 参考功能:codetrails.com/blog/shortcuts-searching-eclipse
  • 这似乎不太符合我的要求。它们只是向您展示某种方法以及它的使用位置和用途,而不是在例如调用方法的频率。一个文件。另外,我需要 400 多种方法,这样会有点乏味。
  • Shell 脚本是您的朋友。 bash 脚本、方法名称列表和 grep 似乎是最直接的工具集。
  • 当然,那么您很可能拥有two problems

标签: java


【解决方案1】:

一种方法是首先将项目编译为类文件,然后使用 javap 解析这些类文件。 然后可以使用 grep 和 sed 等工具来解析 javap 的输出。

find . -iname *.class -exec javap -c -p {} \; | grep "Method <method name, for instance: java/lang> | sed 's:.*// ::' | sort | uniq -c | sort -h

您现在将获得一个方法列表以及它们在项目中的使用频率。

【讨论】:

    猜你喜欢
    • 2018-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-28
    • 1970-01-01
    • 2014-04-05
    • 1970-01-01
    相关资源
    最近更新 更多