Findbug使用说明.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Findbugs使用说明 用途 FindBugs 是一个java bytecode静态分析工具,它可以帮助java工程师提高代码质量以及排除隐含的缺陷。 FindBugs检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。 有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。FindBugs不是通过分析类文件的形式或结构来确定程序的意图,而是通常使用 Visitor 模式进行分析(Visitor 模式的更多信息)。 安装 目前findbugs最新的版本是1.3.9, Eclipse插件的安装 环境要求,Findbugs要求Eclipse 3.4 以上的版本,JRE/JDK 1.5.0以上的版本。 步骤,将edu.umd.cs.findbugs.plugin.eclipse_0090821.zip解压到Eclipse的 plugins子目录下,这样就可以在 eclipse_install_dir/plugins/edu.umd.cs.findbugs.plugin.eclipse_0090821/下看到FindBugs logo图片findbugs.png。 启动Eclipse 然后选择 Help → About Eclipse Platform → Plug-in Details,你应该找到 FindBugs Plug-in。 使用 启动 选中java工程,点击鼠标右键,选择名为“Find Bugs”的菜单,FindBugs开始运行,问题指示器将指向根据bug模式识别出来的潜在问题代码位置。 可选项定制 你还可以通过java工程的属性对话框来定制findbugs的运行方式,可选项包括: 控制Run FindBugs Automatically 开关的checkbox。 选中时, FindBugs 将在每次修改java类后启动运行。 选择最小告警优先级和Bug类别。这些选项将选择哪些警告被显示。例如,如果你选择Medium,只有Medium 和 High priority 警告将被显示。近似地,如果你未选中 Style checkbox,Style类的警告信息将不会被显示。 选择探测器。这个列表允许你选择你想在工程中使用的探测器。 配套的Bug模式解释 为了有针对性的使用这个工具,减少bug的误报,提高使用效率,我们选择了10个左右的bug模式,下面就是对这10个模式的解释。 这些bug可能会引起程序的性能或逻辑问题. 需要说明的是,findbugs能检测的bug pattern远不仅于此,甚至可以定制自己的探测器,因此,这个文档会不断扩充,同时,也欢迎大家不断探索和分享使用实践. ES_COMPARING_PARAMETER_STRING_WITH_EQ ES: Comparison of String parameter using == or != (ES_COMPARING_PARAMETER_STRING_WITH_EQ) This code compares a java.lang.String parameter for reference equality using the == or != operators. Requiring callers to pass only String constants or interned strings to a method is unnecessarily fragile, and rarely leads to measurable performance gains. Consider using the equals(Object) method instead. 使用 == 或者 != 来比较字符串或interned字符串,不会获得显著的性能提升,同时并不可靠,请考虑使用equals()方法。 HE_EQUALS_NO_HASHCODE HE: Class defines equals() but not hashCode() (HE_EQUALS_NO_HASHCODE) This class overrides equals(Object), but does not override hashCode(). Therefore, the class may violate the invariant that equal objects must have equal hashcodes. 类定义了equals()方法但没有重写hashCode()方法,这样违背了相同对象必须具有相同的hashcodes的原则 IT_NO_SUCH_ELEMENT It: It

文档评论(0)

lanhe8975915 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档