项目简介

    SonarQube 是一个开源的代码质量管理系统工具,支持多种语言,可以实现代码质量的全面自动化分析和管理。

    本研究项目将对SonarQube工具的实现方法和规则进行研究,从SonarQube工具中总结分析出合适的代码分析手段,运用到codepedia的代码评测与分析中。

17765?1483088285
发帖时间:11/05/2017 22:16
更新时间:11/07/2017 09:20

    我已经在自己的ubuntu虚拟机上搭建了SonarQube运行环境,并且可以成功地对示例项目工程进行代码分析和管理。

    针对SonarQube工具的分析结果,总结如下:

    1、SonarQube的结果会分为Bugs、Vulnerabilities、Code Smells、Coverage、Duplications这五个方面。

    2、Bugs、Vulnerabilities、Code Smells这三个方面统称为issues(问题)。issues(问题由严重程度划分为五类 :阻断(Blocker)、严重(Critical)、主要(Major)、次要(Minor)、信息(Info)。

    3、SonarQube 通过 8 种指标衡量项目质量的优劣:Reliability(可靠性)、Security(安全性)、Maintainability(可维护性)、Coverage(覆盖)、Duplications(重复)、Size(大小)、Complexity(复杂度)、Issues(问题)。用户应由上而下的指标优先级修复代码。 

    4、Reliability(可靠性)和Bugs对应,会有Reliability Rating(可靠性评级);Security(安全性)和Vulnerabilities对应,会有Security Rating(安全性评级);Maintainability(可维护性)和Code Smells对应,会有Maintainability Rating(可维护性评级)。
    


    我有如下见解:

    一、将SonarQube的结果issues(问题进行重点分析,代码的Bugs、Vulnerabilities、Code Smells这三方面都是issues(问题),而且有划分程度:阻断(Blocker、严重(Critical)、主要(Major)、次要(Minor)、信息(Info)。

    二、因为Reliability(可靠性)和Bugs对应,Security(安全性)和Vulnerabilities对应,Maintainability(可维护性)和Code Smells对应。所以将SonarQube的结果Reliability Rating(可靠性评级)、Security Rating(安全性评级Maintainability Rating(可维护性评级)也都展示出来。

    三、质量阈和质量配置是为了确保项目质量不断提升, SonarQube 有一套默认的质量阈,但是用户可以创建符合自己项目的质量阈; 用户可以创建多个质量阈,并对它们进行规则的编辑 。


回复 ︿
0?1470885445
登录后可添加回复
问题和建议
还能输入50个字符 Submit

加入QQ群

关注微信APP


×