findbugs使用手册

findbugs使用手册

ID:6031135

大小:261.90 KB

页数:10页

时间:2017-12-31

findbugs使用手册_第1页
findbugs使用手册_第2页
findbugs使用手册_第3页
findbugs使用手册_第4页
findbugs使用手册_第5页
资源描述:

《findbugs使用手册》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、FindBugs使用手册文件编号:配置项编号:FindBugs使用手册文档版本号V1.0农信银资金清算中心创新研发部未经农信银资金清算中心的书面许可,不得翻印或外传-10/10-FindBugs使用手册文档修订记录编号章节名称修订内容简述修订日期版本号修订人批准人1创建《FindBugs使用手册》2011-07-12V1.0李远卓未经农信银资金清算中心的书面许可,不得翻印或外传-10/10-FindBugs使用手册目录1、FindBugs简介42、FindBugs的检查规则42.1Correctness(正确性)42.2Badpractice(不良实践)52.3P

2、erformance(性能)52.4Multithreadedcorrectness(多线程正确性)62.5Dodgy(不可靠)73、FindBugs使用83.1安装FindBugs83.2配置FindBugs83.3使用FindBugs8未经农信银资金清算中心的书面许可,不得翻印或外传-10/10-FindBugs使用手册1、FindBugs简介FindBugs是用于java代码检查的一种静态分析工具,它检查类或者JAR文件,将字节码与一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。FindBugs专注于找出潜

3、在程序错误,而不是编码风格问题,目的在于提高程序的健壮性。2、FindBugs的检查规则FindBugs提出了超过200种规则,这些规则可主要分为如下类别:2.1Correctness(正确性)这些问题涉及到可能在某些方面不正确的代码。如:代码有无限递归,或者读取为写入的字段,这类问题几乎无疑是程序的错误。例1:使用未初始化的类成员,可能导致NullPointException代码:publicclassFindBugsTest{privateListitems;publicvoidaddItem(Stringitem){items.add(item);}}Fin

4、dBugs检测结果:Bug:ReadofunwrittenfielditemsPatternid:NP_UNWRITTEN_FIELD,type:NP,category:CORRECTNESSTheprogramisdereferencingafieldthatdoesnotseemtoeverhaveanon-nullvaluewrittentoit.Dereferencingthisvaluewillgenerateanullpointerexception.例2:不使用方法的返回值代码:StringaString="bob";aString.replace(

5、'b','p');FindBugs检测结果:Bug:com.nxy.test.FindBugsTest.testString()ignoresreturnvalueofString.replace(char,char)Patternid:RV_RETURN_VALUE_IGNORED,type:RV,category:CORRECTNESS未经农信银资金清算中心的书面许可,不得翻印或外传-10/10-FindBugs使用手册Thereturnvalueofthismethodshouldbechecked.Onecommoncauseofthiswarningis

6、toinvokeamethodonanimmutableobject,thinkingthatitupdatestheobject.Forexample,inthefollowingcodefragment,StringdateString=getHeaderField(name);dateString.trim();theprogrammerseemstobethinkingthatthetrim()methodwillupdatetheStringreferencedbydateString.ButsinceStringsareimmutable,thetri

7、m()functionreturnsanewStringvalue,whichisbeingignoredhere.Thecodeshouldbecorrectedto:StringdateString=getHeaderField(name);dateString=dateString.trim();2.2Badpractice(不良实践)这类问题明确违反建议的编程标准。如:删除异常,或未关闭文件,或未数据库连接资源等。例3:未关闭打开的文件输出流资源代码:publicvoidtestFileNotClosed(){try{FileOutputStreamfos

8、=newF

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

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

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