【发布时间】:2018-02-15 16:28:14
【问题描述】:
对于大型 Java 项目,我想获得在特定范围内(最好在 IntelliJ 内)仅使用一次的所有方法的列表(静态分析)。
我可以轻松获得未使用方法的列表,并且可以手动浏览每个方法并找到用法,但这太乏味了。我在 IntelliJ 2017.3 的可用代码检查中进行了搜索,但找不到合适的检查。
上下文:我寻找最小依赖代码,尤其是仅使用一次的私有函数可能会被内联。
在Andrey 的评论之后,我尝试使用结构搜索。
- 选择菜单
Edit/Find/Search Structurally - 选择现有模板
all methods of the class - 选择
Edit Variables - 对于变量
Method,取消选中Unlimited选项并将Maximum Count设置为1
虽然这减少了方法的数量,但其中仍有一些方法被多次使用 (Alt+F7)!
【问题讨论】:
-
您可以尝试使用Structural Search。您可以定义搜索目标的出现范围数。
-
@Andrey。谢谢。但不幸的是,它似乎不起作用。我仍然得到不止一种用法的结果。
-
创建 IntelliJ 检查是为了发现有问题或可能有问题的事情。只使用一次的方法没有任何问题、不好或错误,因此没有检查来检测这种方法。如果需要,您可以编写一个插件来查找此类方法。
-
@yole 这听起来有点奇怪。当然,IntelliJ 不可能无所不知,无法真正区分可能有问题的事情和绝对没有问题的事情。此外,有时将这个工具也用于可能没有直接问题的事情不是很好吗?无论如何,如果您确定这是不可能的,为什么不从中做出答案呢?
-
IntelliJ 不是无所不知的,但它也没有无限量的资源,并且这些资源用于对我们了解它们如何以及为什么存在问题的事物进行检查。
标签: java intellij-idea static-code-analysis