SonarQube 是一个开源的代码质量管理系统工具,支持多种语言,可以实现代码质量的全面自动化分析和管理。
本研究项目将对SonarQube工具的实现方法和规则进行研究,从SonarQube工具中总结分析出合适的代码分析手段,运用到codepedia的代码评测与分析中。
我已经在自己的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(问题)。用户应由上而下的指标优先级修复代码。
我有如下见解:
一、将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(可维护性评级)也都展示出来。