分析 jQAssistant 中的 Java 个循环

Analyze Java loops in jQAssistant

我想创建一个约束来查找在 Java 循环(while、for、lambda)及其相关代码部分中进行的数据库调用。主要是优化相关应用的性能。

根据我的观察,图形模型尚未包含有关循环的详细信息。 我错过了一个细节吗? 否:有什么方法可以添加所需的信息吗? 否:我可以用其他方式实现我的愿望吗?

jQA 的字节码扫描器不收集有关字节码中循环的信息,主要有以下原因:

  • 字节码信息的可访问性(我们在那里看到的只是跳转指令,需要转换回 loop/forEach)
  • 使图表模型精简且易于初学者理解
  • performance/disk分配

目前我没有找到一种简单地将此信息添加到图表中的方法...

Lambda 可以使用概念 java:LambdaMethod 来识别(参见 http://jqassistant.github.io/jqassistant/doc/1.10.0/manual/index.html#java:LambdaMethod),但我怀疑使用约束来检查是否在 lambda 中进行数据库调用而不检查周围的 forEach是有意义的。请注意,使用源代码扫描器(目前正在作为原型进行开发)时情况可能会有所不同。