Sonar Qube连续代码质量管理(一)熟悉Sonar Qube7.6和Scanner-3.3.0.1492

版权声明:HadesZ@金翰海 https://blog.csdn.net/AITop_Leader/article/details/88051815

前言

Sonar是一个管理代码质量的开放开源的平台,在我看来更多的把它理解成为一个对代码质量更好把控的工具。它可以快速的定位代码中潜在的或者明显的错误,可以从多个维度检测代码情况,提高项目源码的质量管理。
同时,自己可以定义代码的检查规则。例如SonarQube本身不建议方法名中出现_ 例如add_function(),我们可以重新定义它的检查规则,从而去掉这样的检查。

七个维度检测代码质量:
(1)复杂度分布(complexity):代码复杂度过高将难以理解
(2) 重复代码(duplications):程序中包含大量复制、粘贴的代码而导致代码臃肿,sonar可以展示源码中重复严重的地方
(3) 单元测试统计(unit tests):统计并展示单元测试覆盖率,开发或测试可以清楚测试代码的覆盖情况
(4) 代码规则检查(coding rules):通过Findbugs,PMD,CheckStyle等检查代码是否符合规范
(5) 注释率(comments):若代码注释过少,特别是人员变动后,其他人接手比较难接手;若过多,又不利于阅读
(6) 潜在的Bug(potential bugs):通过Findbugs,PMD,CheckStyle等检测潜在的bug
(7) 结构与设计(architecture & design):找出循环,展示包与包、类与类之间的依赖、检查程序之间耦合度

Sonar可以从以下七个维度检测代码质量,而作为开发人员至少需要处理前5种代码质量问题。
1. 不遵循代码标准
    sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写。
    2. 潜在的缺陷
    sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检 测出潜在的缺陷。
    3. 糟糕的复杂度分布
    文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员 难以理解它们, 且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试。
    4. 重复
    显然程序中包含大量复制粘贴的代码是质量低下的,sonar可以展示 源码中重复严重的地方。
    5. 注释不足或者过多
    没有注释将使代码可读性变差,特别是当不可避免地出现人员变动 时,程序的可读性将大幅下降 而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷。
    6. 缺乏单元测试
    sonar可以很方便地统计并展示单元测试覆盖率。
    7. 糟糕的设计
    通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系,可以检测自定义的架构规则 通过sonar可以管理第三方的jar包,可以利用LCOM4检测单个任务规则的应用情况, 检测藕合。

Sonar (SonarQube)是一个开源平台,用于管理源代码的质量.。
Sonar 不只是一个质量数据报告工具,更是代码质量管理平台。

后面会讲到,在配置项中可以通过插件形式安装各种拓展应用,截止到目前为止(2019年3月1日)可以支持包括ABAP
Apex、C/C++、C#、CSS、COBOL、Flex、Go、HTML、Java、JavaScript、Kotlin、Objective-C、PL/SQL、PL/I、PHP、Python、RPG、Ruby、Scala、Swift、T-SQL、TypeScript、VB.NET、VB6、XML等等25种以上编程语言的代码质量管理与检测,官方提供 https://www.sonarqube.org/features/multi-languages/。
在这里插入图片描述

环境准备

在这里,建议各位大佬和萌新在不熟悉该产品的情况下,按步骤和操作方式完成,这样少走弯路避免一些错误问题。

SonarQube是一个web应用,从文件构成看出是基于Java开发的代码检测工具。据了解,在SonarQube6.7.x后均要求JRK必须是JDK8及以上。数据库建议选择使用Mysql,要求5.6及以上,其它数据库也支持,在官方产品使用文档中可以找到适用版本。

系统环境:Windows 10 x64 家庭中文版
运行环境:Java 8(java version 1.8.0_172)
数据库:MySql 5.6.43
浏览器:Google Chrome 71.0.3578.98(正式版本) (64 位)

下载安装

Sonar 平台搭建主要是服务端Sonar Qube和客户端Scanner两大步骤。服务端主要是Web应用服务和关联数据库对配置、扫描结果等进行存储,客户端主要是对项目进行扫描并将扫描情况反馈到服务端。
这是最新的官方产品使用文档,在线API地址:https://docs.sonarqube.org/latest/
以下是截至目前最新版本下载地址:https://www.sonarqube.org/downloads/

一、官方下载地址

Sonar Qube7.6
下载地址:https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.6.zip
在这里插入图片描述
Scanner-3.3.0.1492
下载地址:https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.3.0.1492-windows.zip
在这里插入图片描述
二、产品解压安装
下载完成后,在本地可浏览到两个zip文件,分别为sonarqube-7.6.zip和sonar-scanner-cli-3.3.0.1492-windows.zip,便于操作规范将文件解压在D:\DevelopSoft\Sonar目录下
在这里插入图片描述
在这里插入图片描述

以上,对Sonar Qube7.6和Scanner-3.3.0.1492进行了初步的了解和下载熟悉,下一篇将对Sonar Qube7.6在Windows环境下安装部署进行详细的步骤分解。

猜你喜欢

转载自blog.csdn.net/AITop_Leader/article/details/88051815
今日推荐