SonarQube使用介绍

简介: SonarQube使用介绍

SonarQube使用介绍

SonarQube® 是一种自动代码审查工具,用于检测代码中的错误、漏洞和代码异味。它可以与您现有的工作流程集成,以实现跨项目分支和拉取请求的持续代码检查。


SonarQube 是一个用于代码质量管理的开源平台,用于管理源代码的质量。 通过插件形式,可以支持包括 java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等等二十几种编程语言的代码质量管理与检测。


工作流程:

image.png


工作流程介绍

1.开发人员在IDE中开发和合并代码,并将代码签入到DevOps平台。


2.持续集成工具(如jenkins)检查、构建和运行单元测试,集成SonarQube扫描仪分析结果。


3.扫描程序将结果发布到SonarQube服务器,该服务器通过SonarQube界面、电子邮件、IDE内通知(通过SonarLint)和拉入或合并请求的装饰(使用Developer Edition及更高版本时)向开发人员提供反馈。


主要作用

编写整洁代码


把出现在代码里的新问题都解决掉,就可以创建并维护一个干净的代码基础。即使是遗留项目,保持新代码的整洁,也能最终获得一个值得骄傲的代码基础。


修复代码缺陷


缺陷图例和默认质量阈都是基于新代码周期的 - 当前周期就是处理问题的时间。主要的关注点是上一个版本,通常会选择30天作为一个周期。


加强质量阈


项目的质量阈是在发布到生产环境之前所需要达到的一系列的条件标准。质量阈可以确保下一个版本的代码质量总能高于上一个版本。


Sonar的优点:

(1)支持所有语言的检测。一个工具,搞定所有。


(2)灵活扩展,插拔式使用。自定义的代码检测规则,可自定义插件,独立打成JAR包放到SONARQUBE插件目录下,重启即生效,开发使用非常方便。而且自带UT验证框架,开发效率高。


(3)规则支持多租户隔离。租户可定制自己的规则集。


(4)生态强大,业界有诸多插件,与jenkins友好集成。


(5)部署使用便捷。


(6)架构松耦合,通过与maven/jenkins等集成,将代码扫描的计算消耗迁移到业务或者构建方的资源上,极大的提升了自身的吞吐能力。


衡量代码质量的几个指标

1.Bugs Bug是出现了明显错误或是高度近似期望之外行为的代码。


2.漏洞 漏洞是指代码中可能出现被黑客利用的潜在风险点。


3.安全热点 安全敏感代码需要手工审核,以便判断是否存在安全漏洞。


4.异味 代码异味会困扰代码的维护者并降低他们的开发效率。主要的衡量标准是修复它们所需的时间。


5.重复率 新代码中的重复行密度 (%),重复行数,重复代码块


6.行数 程序中代码的行数


SonarQube的UI界面:

image.png

等等


sonarqube的官网


个人解决项目中的bug,异味总结

①:变量声明后不使用,多余变量

正例:localValue/getHttpMessage()/GroupController


②:方法名、变量名不符合命名规范

例如:方法名、参数名统一使用驼峰命名法(Camel命名法),除首字母外,其他单词的首字母大写,其他字母小写,类名每个组合的单词都要大写;


③:常量命名不规范

禁止缩写。命名尽量简短,不要超过16个字符


采用完整的英文大写单词,在词与词之间用下划线连接,如:DEFAULT_VALUE。


同一组的常量可以用常量类封装在一起,便于引用和维护


代码中用到常量的,用静态常量表示,


正例:


Private final static String SUCCESS=”success”;


Private final static String ERROR = “error”;


调用:类名.SUCCESS    


④:删除无用的依赖

import中灰色的部分


⑤:禁止使用 System.out.println(""); 打印内容

推荐使用


private static Log logger = LogFactory.getLog(AopGetService.class);

或者


log.info("章节拼接成功!");

⑥:Controller类中不要抛出异常,需要用try,catch捕获

⑦:删除无用的注释,例如用于测试的代码

⑧:将程序中的 //TODO 尽快完成

⑨:等等~~

相关文章
|
安全 关系型数据库 Java
SonarQube实战:部署(一)
基于Docker部署SonarQube及中文汉化。
1322 0
|
Java p3c
sonar入门:使用阿里规范扫描代码质量
sonar入门:使用阿里规范扫描代码质量
3215 0
sonar入门:使用阿里规范扫描代码质量
五分钟带你玩转sonar(五)教你使用SonarLint插件
五分钟带你玩转sonar(五)教你使用SonarLint插件
6068 0
五分钟带你玩转sonar(五)教你使用SonarLint插件
|
安全 Java Python
sonarqube扫描Python项目代码
sonarqube扫描Python项目代码
sonarqube扫描Python项目代码
|
数据可视化 数据挖掘 Java
提升代码质量与效率的利器——SonarQube静态代码分析工具从数据到洞察:探索Python数据分析与科学计算库
在现代软件开发中,保证代码质量是至关重要的。本文将介绍SonarQube静态代码分析工具的概念及其实践应用。通过使用SonarQube,开发团队可以及时发现和修复代码中的问题,提高代码质量,从而加速开发过程并减少后期维护成本。 在当今信息爆炸的时代,数据分析和科学计算成为了决策和创新的核心。本文将介绍Python中强大的数据分析与科学计算库,包括NumPy、Pandas和Matplotlib,帮助读者快速掌握这些工具的基本用法和应用场景。无论是数据处理、可视化还是统计分析,Python提供了丰富的功能和灵活性,使得数据分析变得更加简便高效。
|
Java Apache Maven
使用checkstyle来规范你的项目
Checkstyle是什么 自从做了程序员,关于格式化的讨论就不曾中断过,到底什么才是正确的,什么才是错误的,到现在也没有完整的定论。但随着时间发展,渐渐衍生出一套规范出来。没有什么绝对的正确和错误,关键在于规范的定义。
6745 0
|
4月前
|
SQL 人工智能 文字识别
阿里开源的 AI 代码审查工具 open-code-review 来了
阿里巴巴开源Open Code Review(OCR),融合确定性工程与LLM Agent,已服务数万开发者、发现百万级缺陷。内置NPE、SQL注入等安全规则,支持CLI、Agent集成及多平台部署,让AI代码审查更精准、稳定、可落地。(239字)
9244 1
|
9月前
|
人工智能 测试技术 开发者
AI Coding后端开发实战:解锁AI辅助编程新范式
本文系统阐述了AI时代开发者如何高效协作AI Coding工具,强调破除认知误区、构建个人上下文管理体系,并精准判断AI输出质量。通过实战流程与案例,助力开发者实现从编码到架构思维的跃迁,成为人机协同的“超级开发者”。
4026 106
|
6月前
|
人工智能 安全 机器人
AI赋能研发全链路:需求→设计→开发→审查实战指南
AI赋能全自动研发不是普通AI编程,而是把「环境、Git、AI、协作」打包成一套全自动研发,不用反复配环境、不用盯着AI改代码、不用手动做Code Review,手机打开网页都能写项目,这才是AI编程该有的样子。
811 0

热门文章

最新文章