开源代码,Sonar实战【开源代码质量管理平台】

随着项目的展开,代码的质量需要定期的检查,除了Code Review外,使用工具进行定期的检查规范等很重要,Sonar就是这样一个平台。

介绍

Sonar是一个开源代码质量管理平台。以下是它的主要特点:
  • 代码覆盖:通过单元测试,将会显示哪行代码被选中
  • 改善编码规则
  • 搜寻编码规则:按照名字,插件,激活级别和类别进行查询
  • 项目搜寻:按照项目的名字进行查询
  • 对比数据:比较同一张表中的任何测量的趋势
wps_clip_image-30921Sonar实战【开源代码质量管理平台】开源代码

安装

从http://www.sonarsource.org/ 下载安装文件,解压到任意目录,执行对应32/64的 StartSonar.bat,默认在9000端口启动一个服务

Java项目实战

http://docs.codehaus.org/display/SONAR/Use+Sonar 有详细的文档,最快的方法是如下的形式
项目使用maven管理比较方便使用
1、从 http://docs.codehaus.org/display/SONAR/Analyse+with+a+simple+Java+Runner#AnalysewithasimpleJavaRunner-Installation 下载Sonar Runner并解压,将解压目录加入PATH中【以能找到sonar-runner.bat这个运行文件】
2、项目目录下放置如下的文件sonar-project.properties
# required metadata
sonar.projectKey=com.demo:mydemo
sonar.projectName=demo
sonar.projectVersion=1.0
# path to source directories (required)
sources=src/main/java
# path to test source directories (optional)
#tests=testDir1,testDir2
# path to project binaries (optional), for example directory of Java bytecode
#binaries=binDir
# path to project libraries (optional)
libraries=junit.jar
#Uncomment those lines if some features of java 5 or java 6 like annotations, enum, ...
#are used in the source code to be analysed
#sonar.java.source=1.5
#sonar.java.target=1.5
#Uncomment this line to analyse a project which is not a java project.
#The value of the property must be the key of the language.
#sonar.language=cobol
# advanced parameters
#my.property=value
以上是一个简单的配置,更详细的配置可参考 http://docs.codehaus.org/display/SONAR/Advanced+parameters
3、项目目录下执行sonar-runner,此时进行相应各种处理
4、进入http://localhost:9000 查看结果,类似如下
wps_clip_image-31025wps_clip_image-30921Sonar实战【开源代码质量管理平台】开源代码
可以看到项目的代码量、类分布等等各项指标,这个软件集成了很多的Java的一些开源的分析、测试等工具,因此具体的功能很丰富

Eclipse

如果在Eclipse中使用,参考如下的内容安装即可
http://docs.codehaus.org/display/SONAR/Installing+Sonar+Eclipse
Update site
http://dist.sonar-ide.codehaus.org/eclipse/
Eclipse Marketplace
http://marketplace.eclipse.org/content/sonar
http://nemo.sonarsource.org/
http://docs.codehaus.org/display/SONAR/1.+Install
Eclipse增强包括可以在本地进行分析

总结

Sonar作为一个平台,可以在服务端运行,并记录每次的质量情况,因此可以进行项目的代码质量的跟踪
如果只是本地分析 CodePro AnalytiX 这个开源的工具也很好用【参考http://code.google.com/intl/zh-CN/javadevtools/download-codepro.html 】
这个工具对于其他语言也提供了支持,官网列了很多,http://docs.codehaus.org/display/SONAR/Additional+Languages
比如Csharp的分析,就集成了Fxcop StyleCop等各种工具,不过相对java来说,工具还是少一些,和VS Team foundation想必,对于代码的管理有很多优点,实际项目中可以作为这个tfs的补充使用【可以量化的看到代码的演变历史】
Tags:  金山开源代码 java开源代码 开源云平台 开源代码是什么 开源代码

延伸阅读

最新评论

发表评论