使用SQL查询Java代码分析的开源项目:JQL

JQL是一个Java代码分析开源工具,分析结果能够通过SQL语句进行查询。

JQL首先是对你的代码进行分析,比如:
1.哪个类没有单元测试?
2.哪个类名最长?
3.哪个接口超过20个方法?

当它发现这些问题后,写入本地的一个SQL数据库中,然后你就可以通过SQL语句查询这些结果。比如查询哪个接口有超过20个方法?


SELECT i.NAME as name, COUNT(m.ID) as nbMethods
FROM INTERFACE i, METHOD m
WHERE m.TYPE_ID = i.ID GROUP BY i.ID HAVING COUNT(m.ID) > 20;

JQL是一个单个可执行Jar包,能够直接执行:
java -jar jql-core-0.1.jar /path/to/project/to/analyse /path/to/database/directory

这个命令将使得JQL分析你的代码库,将分析结果建立索引,创建一个文件jql.db。可以使用任何你喜欢的SQL客户端打开jql.db进行查询。


benas/jql: Java code analysis and linting with SQL