飘灵儿 发表于 2015-1-18 11:13:16

JAVA网站制作之Eclipse插件开辟之FindBugs插件

而学习JAVA我觉得最应该避免的就是:只学习,不思考,只记忆,不实践!  成绩提出:

  当我们编写完代码,做完单位测试等各类测试后就提交正式运转,只能由运转的体系来检测我们代码是不是有成绩了,代码中埋没的毛病在体系运转的过程当中被发明后,然后再来举行响应的修正,那末前期修正的价值就相称高了。

  办理办法:

  如今有良多Java代码剖析工具,FindBugs中开源项目傍边的一个,它能够帮你找到代码中埋没的一些毛病,提拔你的代码才能与体系平安牢靠性。

  安装

  JDK:1.5.0从http://java.sun.com上往下载安装

  Eclipse:3.1.1从http://www.eclipse.org上往下载解压

  FindBugs:0.9.4从http://findbugs.sourceforge.net/

  官方的文档http://findbugs.sourceforge.net/manual/

  EclipsepluginforFindBugsversion0.0.17从http://findbugs.sourceforge.net/downloads.html下载

  插件办理技能

  提醒:新下载的插件PlugIn必定不要都放在原始的Eclipse目次下往。

[*]条件是你已安装好了Eclipse工具了,好比安装在E:OpenSourceEclipse目次下,以下这个目次以%ECLIPSE_HOME%来举行暗示;
[*]此时默许的插件是在%ECLIPSE_HOME%plugins目次中的;
[*]在%ECLIPSE_HOME%下创建一个PlugInsNew的目次;
好比:E:OpenSourceEclipsePlugInsNew
[*]你下载了个新的插件,好比叫做:XYZ
 那末就在%ECLIPSE_HOME%PlugInsNew目次下创建XYZ目次,目次内里是eclipse目次,eclipse目次包括有features与plugins两个子目次;布局以下图所示:

  

[*]把下载的新插件的文件放在以下响应目次中
%ECLIPSE_HOME%PlugInsNewXYZeclipsefeatures
%ECLIPSE_HOME%PlugInsNewXYZeclipseplugins
[*]创建相干的.link的文件
然后在%ECLIPSE_HOME%links目次里创建一个XYZ.link的文件
内容如是:path=E:/OpenSource/Eclipse/PlugInsNew/XYZ就一行如许的路径唆使罢了。
固然,接纳绝对路径来暗示大概更直不雅一些,便利举行文件全体挪动和小组全体成员的共享定名用,免得挪动后要修改Link文件里的相对路径而操心吃力。间接拷贝已往就能够利用。
即XYZ.link文件的内容如是:path=../PlugInsNew/XYZ
如许,假如你下载了多个插件就能够依样画葫芦创建多个Link文件,想加载哪一个插件就把哪一个插件的Link文件放到%ECLIPSE_HOME%links的目次中便可,利用与办理都很便利,倡议万万不要放在默许的安装目次中;
假如你的%ECLIPSE_HOME%与此分歧,请修正XYZ.link文件里的路径
[*]删除,封闭Eclipse
删除%ECLIPSE_HOME%linksXYZ.link文件便可
删除%ECLIPSE_HOME%PlugInsNewXYZ全部目次及文件
[*]从头启动Eclipse便可
  利用

  从头启动Eclipse后,在Help=>AboutEclipseSDK=>Plug-inDetails你能够看到由“FindBugsProject”供应的“FindBugsPlug-in”版本0.0.17插件,以下图所示:

  


  FindBugs的利用办法

  FindBugs是一个能够在Java程序中发明Bugs的程序。

  它是专门用来寻觅处于“BugPatterns”列表中的代码的。

  BugPatterns指很有多是毛病的代码的实例。

  今朝FindBugs最高版本0.9.4,不外更新速率很快的,你应该常常上往看看是不是有新版本公布。EclipsepluginforFindBugs最高版本0.0.17。

  体系请求

  利用FindBugs最少必要JDK1.4.0以上版本,FindBugs是平台自力的,能够运转于GNU/Linux、Windows、MacOSX 等平台上。

  运转FindBugs最少必要有256MB内存,假如你要剖析一个很年夜的项目,那就必要加倍多的内存了。

  FindBugs自力运转和与Ant分离的具体操纵就不先容了,能够看官方的文档http://findbugs.sourceforge.net/manual/

  自力运转的最终效果以下:

  


  本文次要先容在Eclipse中利用的情形

  翻开BugDetails视图

  Windows=>ShowView=>Other…=>FindBugs=>BugDetails

  


  在PackageExplorer或Navigator视图中,选中你的Java项目,右键,能够看到“FindBugs”菜单项,子菜单项里有“FindBugs”和“ClearBugMarkers”两项内容,以下图所示:

  


  我们创建一个复杂的测试文件Test.java内容以下:


publicclassTest{privateString[]name;publicString[]getName(){returnname;}publicvoidsetName(String[]name){this.name=name;}}
  我们点中“FindBugs”,运转时会呈现以下进度框:

  运转停止后能够在Problems中看到增添了以下的告诫信息内容

  FindBugs运转后的告诫信息内容不但在Problems视图中显现,并且将标志在源代码标志框中,在源代码编纂器中我们能够看到告诫标识,以下图:

  当光标指向你的告诫信息的代码下面时,就会有响应的毛病提醒信息,与Eclipse自己的毛病或告诫信息提醒相似。

  选中Problems视图里呈现的响应成绩,就会在代码编纂器里切换到响应的代码上往,便利依据响应的提醒信息举行代码的修正。

  


  在Problems视图里,选中响应的成绩条目,右键,在弹出的菜单中,能够看到“ShowBugDetails”,以下图所示:

  


  点中它,会切换到BugDetails视图上往,显现加倍具体的提醒信息。

  固然,在代码编纂窗口中,点击带有告诫提醒信息的图标时,也会主动切换到BudDetails窗口往,检察具体的告诫信息,以下图所示。

  


  依据这里具体的信息,你能够失掉FindBugs为何会对你的代码报告诫信息,及响应的处置举措,依据它的提醒,你能够疾速便利地举行代码修正。

  


  依据提醒,我们将代码修正成以下,再运转就不会报有告诫信息了。

publicclassTest{privateString[]name;publicString[]getName(){String[]temp=name;returntemp;}publicvoidsetName(String[]name){String[]temp=name;this.name=temp;}}  设置FindBugs

  选择你的项目,右键=>Properties=>FindBugs=>

  


  能够设置的信息包含如上图所示的四个选项的相干设置:


[*]RunFindBugsAutomatically开关

当此项选中后,FindBugs将会在你修正Java类时主动运转,如你设置了Eclipse主动编译开关后,当你修正完Java文件保留,FindBugs就会运转,并将响应的信息显现出来。

当此项没有选中,你只能每次在必要的时分本人往运转FindBugs来反省你的代码。
[*]Minimumprioritytoreport选择项

这个选择项是让你选择哪一个级其余信息举行显现,有Low、Medium、High三个选择项能够选择,很相似于Log4J的级别设置啦。好比:

你选择了High选择项,那末只要是High级其余提醒信息才会被显现。

你选择了Medium选择项,那末只要是Medium和High级其余提醒信息才会被显现。

你选择了Low选择项,那末一切级其余提醒信息城市被显现。
[*]Enablebugcategories选择项

在这里是一些显现Bug分类的选择:

Correctness关于代码准确性相干方面的

Performance关于代码功能相干方面的

Internationalization关于代码国际化相干方面的

Multithreadedcorrectness关于代码多线程准确性相干方面的

Style关于代码款式相干方面的

Maliciouscodevulnerability关于歹意损坏代码相干方面的

好比:假如你把Style的反省框往失落不选择中它,那末与Style分类相干的告诫信息就不会显现了。别的的相似。
[*]Selectbugpatternstocheckfor选择项

在这里你能够选择所要举行反省的相干的BugPattern条目

能够从Bugcodes、Detectorname、Detectordescription中看到响应的是要反省哪些方面的内容,你能够依据必要选择或往失落响应的反省前提。
  总结

  此插件的功效很不错,能够匡助我们提拔Java代码的编写才能,写出加倍平安牢靠的代码。倡议利用或加在Ant里举行延续构建。

  如今,你能够即刻拿出你已开辟的一个项目,反省一下你的代码有无成绩了。

你说是sun公司对她研究的透还是微软?针对自己工具开发的.net性能上肯定会站上风的。

活着的死人 发表于 2015-1-20 17:27:01

是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能

深爱那片海 发表于 2015-1-25 14:45:45

象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。

仓酷云 发表于 2015-1-27 23:21:15

自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。

爱飞 发表于 2015-2-3 07:26:53

是一种突破用户端机器环境和CPU

海妖 发表于 2015-2-5 23:55:07

你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。

灵魂腐蚀 发表于 2015-2-13 01:12:09

J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。

分手快乐 发表于 2015-3-3 11:58:29

在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

变相怪杰 发表于 2015-3-11 10:43:13

接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。

小魔女 发表于 2015-3-18 06:41:11

有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)

第二个灵魂 发表于 2015-3-25 12:28:59

是一种为 Internet发展的计算机语言
页: [1]
查看完整版本: JAVA网站制作之Eclipse插件开辟之FindBugs插件