两个Java代码检查工具
PMD---它会对代码中的如下部分进行检查: 
  未使用的本地变量
  空的catch块
  未使用参数
  空if语句
  重复的import语句
  未使用的私有方法
  可能是Singletons的类
  短/长变量及方法名字
安装方法:先下载插件(附件中),安装方法如下:
打开Myeclipse->Help->Search for new features to install ->new Archived site ->选择下载的包(附件中有)->安装->重启Myeclipse->完成
 
CheckStyle---检查如下部分:
 
  Javadoc注释
  命名约定
  标题
  Import语句
  体积大小
  空白
  修饰符
  块
  混合检查(包活一些有用的比如非必须的System.out和printstackTrace)
  它们的作用
   不像PMD,Checkstyle能够检查Javadoc注释;但是PMD提供了一项叫作CPD的很有用的功能,它检查代码的拷贝粘贴部分。我使用 PMD到的最频繁的错误是未使用的import语句,未使用的私有变量以及意外重复拼写。Checkstyle可以发现更多的错误。包括
漏掉的 Javadoc注释,超过80个字符的行、不合约定的变量名、用tab来代替空格等等。两个工具都允许创建自定义的规则。
 
  如果想在你的组织中使用它们中的一个,Checkstyle似乎更好一些:它检查公司编码约定的大多数项目。如果增强代码质量是主要目标,那PMD是一个好的选择.
 
安装方法:
打开Myeclipse->Help->Search for new features to install ->new Remote site ->输入URL:eclipse-cs.sourceforge/update ->安装->重启Myeclipse->完成
CheckStyle使用手册
介绍
CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具。它能够自动化代码规范检查过程,从 而使得开发人员从这项重要,但是枯燥的任务中解脱出来。
CheckStyle默认提供一下主要检查内容:
  •Javadoc注释
  •命名约定
  •标题
  •Import语句
  •体积大小
  •空白
  •修饰符
  •块
  •代码问题
  •类设计
  •混合检查(包活一些有用的比如非必须的 System.out和printstackTrace)
  从上面可以看出,CheckStyle提供了大部分功能都是对于代码规范 的检查,而没有提供象PMD和Jalopy那么多的增强代码质量和修改代码的功能。但是,对于团队开发,尤其是强调代码规范的公司来说,它的功能已经足够强大。
Eclipse插件安装和使用
步骤一:sourceforge/projects/checkclipse/下载checkstyle的eclipse 插件checkclipse。下载后,将包放入eclipse的plugins文件夹下,然后重启eclipse。在Windows— >preferences下到checkclipse。如下图:

勾选Set Project Dir as CheckjstyleBasedir
步骤二:右键选中你要进行checkstyle的项目文件,选择“properties”。如下图:

勾选Enable Checkstyle和Set Project ClassLoader.
然后再CheckstyleConfiguraion File中选择项目中checkstyle的配置文件。这里我把配置文件时放置在项目根目录下,所以点击右侧“Browse”按钮,在项目根目录下选择该文件。按“OK”按钮。
这样整个项目的代码将根据配置文件中设置的原则进行出错提示.结果如下图:

由图可知对不符合代码规范的代码会有错误提示,并且有提示信息。
Maven插件安装和使用
首先,修改要检查代码库top级的l文件,在build部分配置CheckStyle的Maven插件,以便于下载安装对应版本的插件(Maven会自动从其镜像库中下载),方法如下:
Java代码 
1. <project> 
2.   ... 
3.   <build> 
4.     <plugins> 
5.       <plugin> 
6. import语句        <groupId>org.apache.maven.plugins</groupId> 
7.         <artifactId>maven-checkstyle-plugin</artifactId> 
8.         <version>2.3</version> 
9.       </plugin> 
10.     </plugins> 
11.   </build> 
12.   ... 
13. </project> 

maven-checkstyle-plugin的最新版本为2.5,其对应的CheckStyle核心版本为5.0;maven- checkstyle-plugin 2.3对应的CheckStyle核心版本为4.4。查看插件的pom文件,可看到如下内容,其中的版本号就为对应的CheckStyle的版本号。
Java代码 
1. <dependency> 
2.   <groupId>checkstyle</groupId>   
3.   <artifactId>checkstyle</artifactId>   
4.   <version>4.4</version>   
5.   </dependency> 

接下来,将自定义的规则配置文件拷贝到top级目录,在reporting部分的CheckStyle插件配置中引用配置。
Java代码 
1. <reporting> 
2.     <plugins> 
3.         <plugin> 
4.             <groupId>org.apache.maven.plugins</groupId> 
5.             <artifactId>maven-checkstyle-plugin</artifactId> 
6.             <configuration> 
7.               <configLocation>l</configLocation> 
8.             </configuration> 
9.         </plugin> 
10.     </plugins> 
11. </reporting> 

也可以将配置文件放在子文件夹下,配置中带上相对路径即可。
Java代码 
1. <reporting> 
2.     <plugins> 
3.         <plugin> 
4.             <groupId>org.apache.maven.plugins</groupId> 
5.             <artifactId>maven-checkstyle-plugin</artifactId> 
6.             <configuration> 
7.               <configLocation>build-tools/src/main/resources/xx/l</configLocation> 
8.             </configuration> 
9.         </plugin> 
10.     </plugins> 
11. </reporting> 

如果使用插件自带的规则文件,可以作如下配置。maven-checkstyle-plugin插件自带的规则有l、l等,可查看插件包。
Java代码 
1. <reporting> 
2.     <plugins> 
3.                <plugin> 
4.                  <groupId>org.apache.maven.plugins</groupId> 
5.                  <artifactId>maven-checkstyle-plugin</artifactId> 
6.                  <configuration> 
7.                             <configLocation>config/l</configLocation> 
8.                 </configuration> 
9.                  <version>2.3</version>         
10.                </plugin> 
11.     </plugins> 
12. </reporting> 

在reporting部分增加jxr插件,生成代码报告,这样在CheckStyle报告 中点击问题对应的链接就可以直接看到出错的代码。
     
Java代码 
1. <reporting> 
2.           <plugins> 
3.             <plugin> 
4.               <groupId>org.apache.maven.plugins</groupId> 
5.               <artifactId>maven-checkstyle-plugin</artifactId> 
6.               <configuration> 
7.                          <configLocation>l</configLocation>                             
8.           </configuration> 
9.               <version>2.3</version>         
10.             </plugin> 
11.             <plugin> 
12.                    <groupId>org.apache.maven.plugins</groupId> 

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。