Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 自动查找一次使用的所有方法_Java_Intellij Idea_Static Code Analysis - Fatal编程技术网

Java 自动查找一次使用的所有方法

Java 自动查找一次使用的所有方法,java,intellij-idea,static-code-analysis,Java,Intellij Idea,Static Code Analysis,对于一个大型Java项目,我想得到一个在特定范围内(最好是在IntelliJ中)只使用一次的所有方法(静态分析)的列表 我可以很容易地得到一个未使用方法的列表,我可以手动检查每个方法并找到用法,但这太单调了。我在IntelliJ 2017.3的可用代码检查中进行了搜索,但没有找到合适的检查 上下文:我寻找最小依赖的代码,尤其是仅使用一次的私有函数,例如,它们可能会内联 在评论之后,我尝试使用结构搜索 从结构上选择菜单Edit/Find/Search 选择现有模板类的所有方法 选择编辑变量 对于

对于一个大型Java项目,我想得到一个在特定范围内(最好是在IntelliJ中)只使用一次的所有方法(静态分析)的列表

我可以很容易地得到一个未使用方法的列表,我可以手动检查每个方法并找到用法,但这太单调了。我在IntelliJ 2017.3的可用代码检查中进行了搜索,但没有找到合适的检查

上下文:我寻找最小依赖的代码,尤其是仅使用一次的私有函数,例如,它们可能会内联

在评论之后,我尝试使用结构搜索

  • 从结构上选择菜单
    Edit/Find/Search
  • 选择现有模板
    类的所有方法
  • 选择编辑变量
  • 对于变量
    方法
    取消选中
    无限
    选项,并将
    最大计数设置为1

虽然这减少了方法的数量,但其中仍有一些方法被多次使用(Alt+F7)

IntelliJ IDEA中没有这种现成的功能,但它可以作为第三方插件实现。

您可以尝试使用它。您可以为搜索目标定义引用的范围号。@Andrey。谢谢但不幸的是,它似乎不起作用。我仍然会得到不止一种用法的结果。创建IntelliJ检查是为了发现有问题或可能有问题的东西。只使用一次的方法没有任何问题、不好或错误,因此没有检测此类方法的检查。如果你需要的话,你可以写一个插件来找到这样的方法。@yole这听起来有点奇怪。当然IntelliJ不可能是全知的,能够真正区分可能有问题的事物和绝对没有问题的事物。此外,有时也将该工具用于可能没有直接问题的事情,这不是很好吗?无论如何,如果你确信这是不可能的,为什么不从中找出答案呢?IntelliJ不是无所不知的,但它也没有无限的资源,这些资源被用于实施检查,我们了解这些问题的原因和方式。