Sonar代码质量管理

Sonar 为代码的质量管理提供了一个平台,对传统的代码静态检测如 PMD、FindBugs 等工具进行整合,是目前最强大的代码质量管理工具之一。

 

  • 代码层面影响的质量和效率

代码内在质量的七个维度

编码规范:是否遵守了编码规范,遵循了最佳实践

潜在的BUG:可能在最坏情况下出现问题的代码,以及存在安全漏洞的代码

文档和注释:过少(缺少必要信息)、过多(没有信息量)、过时的文档和注释

重复代码:违反Don‘t repeat Yourself原则

复杂度:代码结构太复杂、难以理解、测试和维护

测试覆盖率:编写单元测试,特别是针对复杂代码的测试覆盖是否足够

设计与架构:是否高内聚、低耦合、依赖最少

 

大部分的缺陷都是在编码阶段引入的,在测试阶段才能够发现这些缺陷,缺陷发现的越晚,缺陷的修复成本越高

  • 静态代码扫描原理和扫描工具

什么是静态代码扫描

静态扫描是指在不运行代码的方式下,通过词法分析、语法分析、抽象语法分析等技术对程序代码进行扫描,

验证代码是否满足规范性、安全性、可靠性、可维护性等指标的一种代码分析技术

 

静态代码扫描会出现什么样的问题?

如果有两个代码段都大于10行会被认定为重复代码块

1、除了空白和注释之外,两个代码重复10行及以上

2、即时代码段内的标识符、常量值、类型、代码格式、注释不同,两个机构以及语法相同的代码重复10行及以上

3、复制的代码段进行进一步的修改,例如修改、添加或者删除语句,修改后有大于或等于10行的重复

4、两个大于等于10行的代码段执行相同的计算,但通过不同的语法变体实现

 

  1. 常见的静态代码分析工具

 

 

 

 SonarQube

SonarQube 是一款用于代码质量管理的平台,它主要用于管理源代码的质量。 通过插件形式,可以支持很多代 码语言,比如 java, C#, go,C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等。sonar还可以通过 PMD,CheckStyle,Findbugs等等代码规则检测工具来检测你的代码,帮助你发现代码的漏洞,Bug,异味等信息。

 

 

 

 

 

 

posted @   虾米521  阅读(221)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示