有谁知道如何在独立的Java项目中使用Checkstyle API来访问有关java文件或项目的AST或循环号的信息?
因为我找到的全部内容都是关于将其作为一个整体来使用并定义用于评估的规则,但我只需要以编程方式检索统计信息,而不使用评估。我知道使用JDT AST可以做到这一点,但它没有提供那些用于计算某些指标的函数。
在进阶时谢谢。
发布于 2013-06-26 05:03:45
好吧..。Checkstyle实际上并不是一个用于构建第三方静态代码分析工具的工具包。我建议看一看ANTLR项目。这是一个非常好的Java解析器,它可能已经做了你需要的事情。
Checkstyle在内部使用ANTLR。你可以通过下载Checkstyle sources来看看他们是如何做到这一点的。这也揭示了它们圈复杂度实现背后的逻辑。
但是,通常可以使用Checkstyle作为非Checkstyle的框架。您可以通过writing a Checkstyle check来实现这一点,这基本上意味着编写Check的子类。然后,您可以配置Checkstyle来运行您的类,如链接中所述。
如果您想简单地收集由Checkstyle生成的指标,以便在Checkstyle之上的您自己的应用程序中使用,那么我建议您正常运行Checkstyle并评估其报告,例如,通过实现listener或解析通过使用-f xml command line option调用Checkstyle而创建的Checkstyle的XML输出。
附注:从您对JDT AST的引用中,我假设您正在使用Java。如果是这样,您可能希望将java标签添加到您的问题中,以获得更多答案。
https://stackoverflow.com/questions/17274507
复制相似问题