最近有人问我关于涵盖 C
/ C ++和Java的代码库的Coverage Prevent的替代方法。显然,在Java方面,可用的免费工具包括Findbugs(编译代码分析)和PMD(静态代码分析)。它们非常强大,尤其是当您开始研究与IDE的集成时(它们又是免费的)。
但是,当您开始使用各种编译器,体系结构等进入C / C ++领域时,事情变得扑朔迷离。
我已经为Java端提出了多种工具,包括Findbugs和PMD。考虑使用以下指标时,我正在寻找的是C / C ++方面的最佳选择:
最终的工具将是与具有相同功能集的Findbugs和PMD组合使用一样有用和可用的工具,每个席位零费用。
浮现在脑海中的两个是夹板
C和Cppcheck用于C
++。
如果要寻找更多选项,这些工具的功能是“静态代码分析”。这可能会帮助您找到更多用于C和/或C
++的工具。
我使用的是sonarqube community Version6.7.2,我记得,SonarJava插件的目标是用squid规则取代(至少大部分是)Findbugs和PMD规则。当有一个合适的squid规则替换时,这些提供者提供了一个关于规则的信息,但现在我无法找到它,例如,来自findbugs的一些规则与我从squid中知道的其他规则非常相似。 Sonarqube建议只使用squid规则?这些
问题内容: 比较PMD和CheckStyle有一个问题。但是,我找不到关于PMD和FindBugs之间差异/相似性的详尽分类。我相信一个关键的区别是PMD适用于源代码,而FindBugs适用于编译的字节码文件。但是就功能而言,这应该是一个选择,还是两者相辅相成? 问题答案: 我同时使用。我认为他们是相辅相成的。 正如您所说,PMD在源代码上工作,因此会发现诸如以下问题:违反命名约定,缺少花括号,放
我需要在Eclipse中为一个开发项目使用PMD、Findbugs和Checkstyle。Java6足以使用这些工具吗?或者我需要java 7?
问题内容: 我知道Java本身没有直接的等效项,但也许是第三方? 真的很方便。当前,我想实现一个迭代器,该迭代器生成树中的所有节点,这大约是带有yield的五行代码。 问题答案: 我知道的两个选项是2007年的Aviad Ben Dov的infomancers- collections库 和2008年的Jim Jimler的YieldAdapter库 (在另一个答案中也提到了)。 两者都允许您使用
3)什么是最佳组合规则集。 我们使用的是Sonarquber5.6.3。 最新的checkstyle需要升级到5.6.4,目前只关注PMD、Findbugs和Sonarway插件。 提前致谢
假设您有一个数组: 或 C或C是否保证