0

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

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

4

1 回答 1

0

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

  • 字节码中信息的可访问性(我们在那里只看到跳转指令,需要转换回循环/forEach)
  • 保持图形模型简洁且易于初学者理解
  • 性能/磁盘分配

目前我没有看到简单地将这些信息添加到图表中的方法......

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

于 2021-12-13T17:52:32.580 回答