网站大量收购闲置独家精品文档,联系QQ:2885784924

CheckStyle_PMD_FindBugs使用总结解析.docx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CheckStyle_PMD_FindBugs使用总结解析

PMD, FindBugs, CheckStyle三者的的比较工具目的检查项FindBugs检查.class基于Bug Patterns概念,查找java字节码(.class文件)中的潜在bug主要检查bytecode中的bug patterns,如NullPoint空指针检查、没有合理关闭资源、字符串相同判断错(==,而不是equals)等PMD检查源文件检查Java源文件中的潜在问题主要包括:空try/catch/finally/switch语句块未使用的局部变量、参数和private方法空if/while语句过于复杂的表达式,如不必要的if语句等复杂类CheckStyle检查源文件主要关注格式检查Java源文件是否与代码规范相符主要包括:Javadoc注释命名规范多余没用的ImportsSize度量,如过长的方法缺少必要的空格Whitespace重复代码1. PMD1.1 Ant配置以Ant方式运行PMD规则,以下是Ant配置文件build.xml:pathid=pmd.pathfilesetdir=${lib.dir}includename=pmd-4.2.5.jar/includename=pmdrule2.jar//fileset/pathtaskdefname=pmdclassname=net.sourceforge.pmd.ant.PMDTaskclasspathref=pmd.path/targetname=pmddepends=Sourcespmdrulesetfiles=${basedir}/pfc/rules/pmd-rulesets/favorites.xmlformattertype=xmltoFile=${basedir}/quality_reports/pmd.xml/formattertype=htmltoFile=${basedir}/quality_reports/pmd.html/filesetdir=${JavaSource}includename=**/*.java//fileset/pmd/target1.2 自定义PMD规则PMD 自带了很多规则集合,并且分类写入不同的 ruleset 文件。其中basic.xml包含了一般要遵守的最佳代码实践,详细规则描述参见PMD规则总结.xlsx.自定义PMD规则集,根据项目需要,用如下方式修改Ant指定的PMD规则文件favorites.xml:!-- 使用整个strings规则集 --ruleref=rulesets/strings.xml/!-- 使用某个规则集里的某个规则 --ruleref=rulesets/unusedcode.xml/UnusedLocalVariable/!-- 指定某个规则集里的某个规则的优先级 --ruleref=rulesets/basic.xml/EmptyCatchBlockmessage=Must handle exceptionspriority2/priority/rule!-- 去除某个规则集里的某个规则 --ruleref=rulesets/braces.xmlexcludename=WhileLoopsMustUseBracesRule//rule2.FindBugs2.1 Ant配置pathid=findbugs.pathfilesetdir =${lib.home}/findbugs-1.3.0includename =**/*.jar//fileset/pathtaskdefname=findbugsclassname=edu.umd.cs.findbugs.anttask.FindBugsTaskclasspathref =findbugs.path/propertyname =findbugs.homevalue =${lib.home}/findbugs-1.3.0/targetname =findbugs!--includeFilter指定要包含的规则的过滤器文件,excludeFilter包含要去除的规则过滤器文件 --findbugshome =${findbugs.home}includeFilter=${findbugs_include_filter}excludeFilter=${findbugs_exclude_filter}jvmargs=-Xmx384moutput =htmloutputFile =d:/test.html!-- 定义findbugs查找的类路径 --classlocation =${build.home}/WEB-INF/classes//!-- 定义上述类所依赖的类路径 --auxClasspathpath=${lib.home

文档评论(0)

此项为空 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档