jdk版本需要与Sonar版本一致(32bit或者同时64bit)
[原创] 代码审查工具Sonar(上)-介绍与安装
代码审查是持续集成理论的重要组成部分。审查软件和测试软件之间有一个微妙的区别,测试是动态的,它以测试软件功能为目的来执行软件。审查是基于一组预定义的规则来分析代码。审查也不同于编译,编译是从语法角度检查代码,而审查则是从语法以外的角度入手,比如编码风格、编码规范、重复率、复杂度、代码注释率等等。众所周知,编译正确的代码并不一定意味着没有问题。测试人员除了从整个软件运行的角度排查功能点外,从源代码分析的角度寻找潜在的问题点也是一项重要的补充工作。Sonar(又称)是一款优秀的代码审查工具,其官网地址:
下图展示了Sonar的架构。
最上面一层代表输入,也就是我们要检查的源代码,这些源代码可以是Java代码,Cobol代码,C#代码等等,目前Sonar支持检查20多种语言的源代码。
中间那层有两部分,右边绿色方框里标注的“ ”是Sonar的插件,可以让用户直接进行Sonar相关的操作,这部分不在本文的讨论范围之内。
中间那一层左边是进行代码分析的程序,统称为 。这些程序既包括Sonar自身提供的分析程序,也有第三方的分析程序。比如对于C++代码,有Sonar程序可以检查代码行数、重复代码率、注释率,也有第三方工具进行静态检查、运行时内存检测,还有Vera++进行风格检查,还有RATS进行安全检查。这些工具都会把检查结果生成XML格式,由sonar程序读入数据库,也就是第三层的左边。
第三层,Sonar的Web应用程序读取代码检查结果,并以丰富的图形界面的形式呈现给用户,Sonar中有相当一部分是跟界面效果相关的。
通过Sonar进行代码审查的过程是一个从第一层开始,沿着箭头移动到呈现部分末尾的工作流程。
下面介绍Sonar的安装:
1.安装
Sonar 自带了一个简单的版本。如果你想在项目中真正使用 Sonar,而不是仅仅在本地试验它,最好安装一个专用的数据库。我们选择了免费的 MySQL 版本。
在安装目录/bin/下运行:-- mysql as,在列表中启动mysql。
运行:mysql -u root 进入mysql
运行以下命令行创建sonar,并创建用户sonar,密码为sonar
用户‘sonar’@‘’由‘sonar’;
声纳;
授予 *.* 上的所有权限至 'sonar'@'';
2.安装Sonar
您需要先安装JDK6或7
然后下载并解压Sonar包。选择最新的。
3.修改配置文件
/conf/sonar.,重点打开注释部分(删除行首的#符号),修改以下部分:
a. web->sonar.web.host/port/
b.sonar.jdbc.url,因为我安装的是MySQL,所以把原来打开的h2那一行注释掉,打开MySQL部分。
/conf/.conf,因为安装了JDK,所以删除.java..4=-行开头的注释符号#
4.运行/bin下的bat文件,安装sonar,如果启动时出现问题,需要在命令行窗口手动运行该bat文件,查看问题点,并参考/logs下的日志文件。
5. 安装,这取决于语言。有关详细信息,请参阅
例如C#代码建议使用sonar,C++代码建议使用maven,由于我要分析C#代码,所以下面就介绍一下sonar的安装方法。
a.登录sonar,默认管理员账号为admin/admin,选择->->C# and .NET
b. 安装第三方 C# 代码分析器。安装列表请参见 %23+++Guide
c.安装声纳。
d. 创建环境变量,指向sonar安装目录,将/bin添加到环境变量路径中。
e. 修改sonar安装目录下的配置文件/conf/sonar-.,删除相应行开头的#,本例中为mysql行。取消sonar.host.url行的注释。
f.如果在cmd窗口能正确运行sonar--h,则说明sonar-安装配置成功。
中文插件
它是一款静态代码检查工具,可以帮助检查代码缺陷,提高代码质量,提高开发速度。我会通过一系列的使用体验和大家分享我的使用心得!
我们已经介绍了如何安装,现在我们来介绍如何分析,分析和安装一样简单
【三】安装中文插件
工具/原材料
方法/步骤
1. 进入插件下载页面
+
2. 查找---点击
中文插件下载页面
注意选择的插件必须对应正确的版本
例如,如果您使用 sonar 4.3,则应使用插件版本 4.1+
点击开始下载
下载完之后放到sonar目录下,如下
-4.3\\
重启Sonar并打开页面
结尾
防范措施
Linux版本安装
代码质量管理平台的安装与使用
Sonar 简介
Sonar是一个开源的代码质量管理平台,用于管理源代码的质量,可以从七个维度检测代码质量。
它能通过插件为Java、C#、C/C++、PL/SQL、Cobol等20多种编程语言的代码质量管理和检测带来什么?
七宗罪
1. 复杂性分布不均
文件、类、方法等,如果太复杂,将很难改变,这将使开发人员难以理解它们,而且如果没有自动化单元测试,对程序任何组件的更改都可能需要全面的回归测试
2.重复
显然,包含大量复制粘贴代码的程序质量很低。Sonar 可以显示源代码中存在大量重复的地方。
3.缺乏单元测试
Sonar可以轻松统计并显示单元测试覆盖率
4. 没有编码标准
Sonar可以通过PMD等代码规则检测工具来规范代码编写
5. 评论太少或太多
如果没有注释的话,代码的可读性就会比较差,尤其当人员变动不可避免的时候,程序的可读性会大大下降。
评论过多会导致开发人员花费过多的精力去阅读评论,这违背了初衷。
6. 潜在的错误
Sonar可以通过PMD等代码规则检测工具检测潜在的bug
7.糟糕的设计
Sonar 可用于查找循环并显示包和类之间的相互依赖关系。
可以检测自定义架构规则
可以通过sonar管理第三方jar包
LCOM4 可用于检测单个任务规则的应用
检测耦合
关于:+
Sonar可以有效检测程序开发过程中的上述七大问题
安装
先决条件
1.Java环境已经安装完成
2.MySQL数据库已安装
软件下载地址:
下载并
中文补丁包下载:+Pack
1.数据库配置
输入数据库命令
#mysql -u 根 -p
mysql> sonar 设置 utf8;
mysql> 用户'sonar' 由'sonar';
mysql> 授予 sonar 的所有权限。* TO 'sonar'@'%' BY 'sonar';
mysql> 授予 sonar 的所有权限。* TO 'sonar'@'' BY 'sonar';
mysql>刷新;
2.安装sonar和sonar-
将下载的-7.0.zip包解压到Linux路径下如/app///sonar/
将下载的sonar--2.4zip包解压到路径/app///sonar/
注:此版本需要.6或更高版本支持
添加,环境变量,并添加到PATH
修改sonar配置文件
编辑/conf/sonar.文件,配置数据库设置,默认提供对多种数据库的支持。
这里我们使用mysql,所以取消注释mysql模块
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。