下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、FindBugs在Eclipse中的应用 作者:一路向北 更多信息请访问我的百度空间: http:/ 浣花草堂 FindBugs在Eclipse中的应用 路向北 本文介绍如何利用 Eclipse插件FindBugs在Eclipse中的使用。 Eclipse是目前非常流行的开发平台,开放扩展的架构让很多程序员找到了自己个性化 的工作环境。 问题提出: 当我们编写完代码,做完单元测试等各种测试后就提交正式运行, 只能由运行的系统来 检测我们代码是否有问题了, 代码中隐藏的错误在系统运行的过程中被发现后, 然后再来进 行相应的修改,那么后期修改的代价就相当高了。 解决方法: 现在有很多Java代码分
2、析工具,findbugs是一个开源的eclipse代码检查工具;它可以 简单高效全面地帮助我们发现程序代码中存在的 bug, bad smell,以及潜在隐患。针对各种 问题,它并且提供了简单的修改意见供我们重构时进行参考; 通过使用它,可以一定程度 上降低我们code review的工作量,并且会提高review效率。 通过findbugs找到bug,再由 我们自己重构代码,可以培养我们的编码意识及水平,形成好的习惯提高开发编码能力。 安装: JDK : JDK : 1.5.0 从 http:/ 上去下载安装 EclipseEclipse: 3.1.1 从 http:/www.eclipse
3、.org 上去下载解压 FindBugsFindBugs: 0.9.4 从 http:/ 官方的文档: http:/ Eclipse plugin for FindBugs version 0.0.1Eclipse plugin for FindBugs version 0.0.17: http:/ 插件安装: 网上有好多方法,不过我试验了,都不成功,我安装成功的方法是直接发解压后的文件 夹考到Eclipse plugin目录下,然后重启 Eclipse ,可以按以下步骤看到安装是否成功: help about eclipse SDKy/plugin-details 能看到下图红线部分说明安装
4、成功。 1FindBugs在Eclipse中的应用 作者:一路向北 About lelipse Pltijg-insjnl xljnl xl Frevi der | FlHg-in Us, FMgrin TH Eclipse, org Plug-in Development Envir.- 3. 2,0. ir20060605 org. eclipse, pde r 皿 tin/ Eclipse, er & ENipt,工 E Eclipse. ar& Ecl i pt a. or( Eclipse, org Eclipse, srg Eclipca. “T
5、 Eclipse, org Eclipse, erg Eclipsa, Eclipse, org Eclipse. rg Ed ips 4. 4F; Eclipse, or g Eel ipse, or g Ellipse, or if Eclipse, org Flug-iii. Development UI V21 on Flu矿 in Befactoring Core Refa-ctoring LU Ssarch Support Standard Widget Toolki t Standard! Wi dgfet Tiiolki t f. T bb d Froperti as Vi A
6、W Team Support Core T ajti Support UI TiKt Text Editor FrameworlE Tomcat Tra.pper Vnivrsftl 冒尊 1牌丽 Vi ews Framewark Workbench Compatibility Findiui 3. 2.1. 20060. tfl!orp5rTn IBM Corporati oo Ine_ Inteiriiational Components . lore Info org. eclipse, pde ui or. aclipii ui : pra nil; tiiQxiI org. ecli
7、pse. Itk. core, re fact. org. edijhse. 1 tk ui refaetaring orf a. 5au*ch org. eclipse, swt ore. eelipa*. swt. Win32. Win32. 3. 2 1. R20060 . or. ui. viavs, proper. 3. 2.2. H20061114 org. eclipse, tean. core 3. 2. l.iZOftfiO. 3.2 0. w20060 3. 2.0.20060. 4. 1 130. v200.- 3.2 0.I20K0 3. 2.1.r321_v._ 3.
8、 2.2.r322_v. _ 3.2 1.R321 v. 3. 2.1.120060. 3. 2.2.R322 v . 3. 2,2. 200f70. 3. 2.0.120060.- org. eclipse, ua or. aclipe. IfiKt org. eclipse, ui. workbench, te.-. org. eclipse, tomcat 口 rg. aclipee. ui. intrQ. ijnivirsal org. eclipse, ui . vi ews org.白 cl ip白.ui . intro orf. eclipse, ui . workbench o
9、rg. ed i ps e. ui. orkb eich, co. - 1.常舌.zdUBi i 2 司虬 & 4: w:公日战6里. jTTriTiUU&rZTJ cTTwracu 3.4 5.20051213 coa. ihm. icu. source 0i 1.26 CM. jcr if L jseh 本人极力推荐以下链接的文章,很好很值得一看。 http:/ 打不开也可在在 里面搜EclipseEclipse插件安装 为了以后观察方便先建立添加 findbugs explorer (eclipse 左下角) T LT? ci mi wep XUUK O al i s &
10、amp; fchannel &luc ene& ap i OK 百度文库 Shov View 叫营 An t * AiptcO * Ciuwcltvi ty CVS 气岐 n.g _ 雅 BL Ejqpl r r # ? Vf r AMi$4li W4 * W K*lp 功 it: XiVtrMlt * Jwv* trwiinc * q JFA * &m i Jr FDE RixatiH* Cucal EclipseEclipse里面使用findbug:findbug:创建简单测试例子 2 更多信息请访问我的百度空间: http:/ 浣花草堂 FindBugs在Ecli
11、pse中的应用 作者:一路向北 更多信息请访问我的百度空间: http:/ 浣花草堂 B阀 Explorer X L Problems 回后少希嬴膏TH _ lasMl ME M整 EI2 May expose internal represenlation by 粉中 V EI2: com. topsaft. findbugs. FindBugET 曰整El Miy expose iiUwrnU representati on by r 淬 中 V El: cam. topsoft. fiitdbugs. FindBugsTe! 可以看到黄色虫子。找出的 bug虫子颜色有三种:黑色的臭虫标志
12、是分类, 红色的臭 虫表示严重bug发现后必须修改代码,橘黄色的臭虫表示潜在警告性 bug尽量修。 Bug; D tulx Bohn&rks 1*5虹 Pr&crtsE JUnit (j 0 errcrs 2 0 infos Description | Resource | Fath | Location 登中 V EI2: con. top soft, findbucx. FindB FindBugsTest-. Findfiu iTtit/Erc/coA/t pE . FindBiafsrest/srcAcQ/tQps . 选中相应的问题条目,右键,在弹出的菜单中,可以看到
13、 可以查看问题详细信息,选中第一个问题描述如下: ShowBug Details ;选中也 3 首先,创建练习工程:FindBugsTest再创建测试类 FindBugsTest,代码如下: package com.topsoft.findbugs; public class FindBugsTest private String name; public String getName() return name; public void setName(String口 name) this . name = name; 这个类里面有错误,以便测试用。在编辑区里面点击右键选择 LOCnisio
14、ry r References * De cl ar atioits * 整Find Ruii As leLug As T 旦 am * Cgp覃e With ii th Clear Bug Markers Load XML 打开 Bugs ExploreFind Bugs Find Bugs B Tarnins itens) t 中 V EE coa. findbufK. FindBu FindBmiTtil. Bugs Explore右侧Problems是问题信息,打开 Problems面板 Lint 7 line 11 FindBugs在Eclipse中的应用 作者:一路向北 更多信息请
15、访问我的百度空间: http:/ 浣花草堂 中 EI中 Priori ty Malieipus e&d-fr vulnerability In class co . t op soft findbugs. FindBngsTest In method com. top soft. i ndbogs. F i ndBugsT e s t getName 0 Fitld com. t-psoft, Eim.dbucs FindBufiTtxt. At FindBugsTest. j ava: line 7 中 y EI May expose interna】 representation
16、by refurniD reference to mutable object EI_EXPOSEJREP) Returning a reference to a mutable object kahie stored in one of the objects Helds exposes the internal representation of the object. If instances are accessed by untmsted code, and unchecked changes to the mutable object would compromise securi
17、ty or other important properties, von VhiH need to do something difierent. Returning a new copy of tht object is better approach in many situations. 根据这里详细的信息,你可以得到 FindBugs为什么会对你的代码报警告信息,及相应 的处理办法,根据它的提示,你可以快速方便地进行代码修改。 如果双击问题,系统会自动跳转到相对应的问题行出。 根据提示,我们将代码修改成如下,看看结果如何,剩余问题请诸位解决: package com.topsoft.
18、findbugs; public class FindBugsTest private String口 name; public String getName() String temp = name ; return temp; public void setName(String name) I String temp = name; this . name = temp; / / 配置 FindBugs:FindBugs: 在 Bugs Explorer 视图中,选择项目 右键 Properties FindBugs D Detector Configurationetector Con
19、figuration 在这里你可以选择所要进行检查的相关的 Bug Pattern条目 可以从Bug codes、Detector name、Detector description中看到相应的是要检查哪些方面 的内容,你可以根据需要选择或去掉相应的检查条件。 Run FindBugs AutomaticallyRun FindBugs Automatically 当此项选中后,FindBugs将会在你修改Java类时自动运行,如你设置了 Eclipse自动编 译开关后,当你修改完 Java文件保存,FindBugs就会运行,并将相应的信息显示出来。 当此项没有选中,你只能每次在需要的时候自己去运行 FindBugs来检查你的代码。 4 Reporter Configuration Minimum priority to reportReporter Configuration Minimum priority to report Bug Details X Froblws Bookmarks Tasks Progress JVnit FindBugs在Eclipse中的应用 作者:一路向北 更多信息请访问我的百度空
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024货物赊欠买卖合同样本范文
- 物业保洁承包合同
- 个人借款合同参考
- 2024不可撤销居间合同
- 2024年商业用途日照房屋租赁合同
- 建筑安装分包合同
- 2024的厂房转让合同范文
- 2024承包施工合同范文
- 2024车辆承包经营合同书雇用车辆合同书
- 2024标准版商务咨询服务合同模板
- 公路工程概论全套课件
- 全文《中国式现代化》PPT
- 《红楼梦》深入研读学习任务群设计
- 12劳动安全与工业卫生
- 加油站两体系制度
- 医养康养中心设备配备清单
- 沥青混凝土面层夜间施工安全专项方案
- 客户满意度及设备使用情况调查表
- 国家开放大学《政治学原理》章节自检自测题参考答案
- 智慧树知到《走进故宫》2019期末考试答案
- 医院人才梯队建设情况汇报
评论
0/150
提交评论