常用代码质量静态检查工具

常用代码质量静态检查工具

ID:11457501

大小:402.50 KB

页数:22页

时间:2018-07-12

常用代码质量静态检查工具_第1页
常用代码质量静态检查工具_第2页
常用代码质量静态检查工具_第3页
常用代码质量静态检查工具_第4页
常用代码质量静态检查工具_第5页
资源描述:

《常用代码质量静态检查工具》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、常用JAVA代码质量静态检查工具开发一部-胡伟军2009年6月目录软件开发经历反省我们代码中常见几类问题QualityMetricsToolsCheckStylePMDFindBugsJSLink我们代码中常见几类问题使用了不规范的变量和方法名EsbResultModelvalidRule(HashMaporderInfo,ArrayListorderItems,StringRole);Stringrole要小写类、public方法和常量javadoc的缺失javadoc中的声明跟实际的方法不一致,例如方法实际只有1个参

2、数,而javadoc里@param定义了多个(估计是方法签名的时候没有同步的修改javadoc)我们代码中常见几类问题错误的使用/***/和/**/很多public方法和常量使用了/**/来注释,导致注释内容不能被写入javadoc。而另一方面是错误使用/***/导致错误的内容被写入javadoc存在未被使用的方法和变量这些不被使用方法和变量名会增加日后bug修改、代码维护的成本方法超长一个方法超过150行,是不是太长太复杂了。我们代码中常见几类问题代码中有不少magic-number和magic-string刘谦的

3、魔术很好看,可是如果你维护的代码跟刘谦的一样,估计你会抓狂的!Strings=“0000”+Integer.toString(ch,16);0000是什么,16是啥东东,就算是作者3个礼拜也不记得当初写这段代码的用意了。Import了一些不需要的类提交代码以前请务必OrganizeImports。我们代码中常见几类问题有些代码的写法不容易理解不一致的代码风格例如,Stringoneitems[]vsString[]oneitems前者是C/C++的编码风格;咱们写的是java,就统一用String[]oneitems吧。

4、NOEXCUTABLEWhyusingQualityMetricsTools一个软件的生命周期中,80%的花费在于维护几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码……CheckStyleCheckStyle用来检查代码格式、规范、风格检查并强制执行统一的代码风格检查Javadoc检查类、变量、方法的命名检查类和方法的大小检查编码错误,例如magicnumber……Checkstyle-安装Eclipse插件地址http://eclip

5、se-cs.sourceforge.net/updateCheckstyle-启用Checkstyle—配置规范Checkstyle使用效果黄色的区域就是checkstyle检查出有问题的地方(红色表示错误,黄色表示警告)。Checkstyle-编写javadoc注意点/**{@inheritDoc}*/publicintcheckReturnTag(finalintaTagIndex,JavadocTag[]aTags,intaLineNo)PMDPMD提供了一些开发过程中的最佳实践。Possiblebugs-empt

6、ytry/catch/finally/switchstatementsDeadcode-unusedlocalvariables,parametersandprivatemethodsSuboptimalcode-wastefulString/StringBufferusageOvercomplicatedexpressions-unnecessaryifstatements,forloopsthatcouldbewhileloopsDuplicatecode-copied/pastedcodemeanscopied/p

7、astedbugsPMD-Exception规则AvoidCatchingThrowableSignatureDeclareThrowsExceptionExceptionAsFlowControlAvoidThrowingRawExceptionTypesAvoidThrowingNullPointerExceptionAvoidRethrowingExceptionDoNotExtendJavaLangErrorDoNotThrowExceptionInFinallyAvoidThrowingNewInstanceO

8、fSameExceptionhttp://pmd.sourceforge.net/rules/strictexception.htmlPMDPMD中的很多规则会比较有争议,或者跟大家现有的技术框架、代码结构有冲突。大家可以通过自定义的这些规则的级别(Error,Warning)来把握对这些规则的使用程度。FindBu

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。