博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[敏捷开发培训] 代码质量检查之利器—SonarQube
阅读量:4042 次
发布时间:2019-05-24

本文共 1112 字,大约阅读时间需要 3 分钟。

代码质量检查之利器—SonarQube

打开SonarQube的官网,首先看到的就是一行英文Title:Code Quality and Security。SonarQube允许所有开发人员编写更干净、更安全的代码。(SonarQube empowers all developers to write cleaner and safer code.

SonarQube是一个用于管理代码质量的开放平台,可以快速的定位代码中潜在的或者明显的错误。目前支持Java,C#,C/C++,Python,PL/SQL,Cobol,JavaScrip,Groovy等二十几种编程语言的代码质量管理与检测。

SonarQube特性

持续检查

  • 项目整体的健康程度

        项目的主页面会给出,项目整体的Bugs、Vulnerabilities、Code Smells

  • 专注于漏洞

       water-leak-paradigm可以有效的管理代码质量:新特性,增加的,改变的

     (water-leak-paradigm是sonarqube研究的一种代码管理方法)
       在项目监测报告中,需要密切关注:New Bugs、New Vulnerabilities

  • 实施质量阈值

       在团队项目中,可以设置质量阈值(Quality Gate),用于监管质量

  • 分支分析

       确保干净的代码才会被合并到主分支中

七个维度检测代码质量

  • 复杂度分布(Complexity):代码复杂度过高将难以理解
  • 重复代码(Duplications):程序中包含大量复制、粘贴的代码而导致代码臃肿,sonar可以展示源码中重复严重的地方
  • 单元测试统计(Unit Tests):统计并展示单元测试覆盖率,开发或测试可以清楚测试代码的覆盖情况
  • 代码规则检查(Coding Rules):通过Findbugs,PMD,CheckStyle等检查代码是否符合规范
  • 注释率(Comments):若代码注释过少,特别是人员变动后,其他人接手比较难接手;若过多,又不利于阅读
  • 潜在的Bug(Potential Bugs):通过Findbugs,PMD,CheckStyle等检测潜在的bug
  • 结构与设计(Architecture & Design):找出循环,展示包与包、类与类之间的依赖、检查程序之间耦合度

灵活的配置方式

  • 用户本地使用IDE的插件进行代码分析
  • 用户上传到源代码版本控制服务器
  • 持续集成,使用Sonar Scanner进行扫描
  • 将扫描结果上传到SonarQube服务器
  • SonarQube server将结果写入db
  • 用户通过web ui查看扫描结果
  • SonarQube导出结果到其他需要的服务

 

 

转载地址:http://zsvdi.baihongyu.com/

你可能感兴趣的文章
tcpdump 抓包工具使用
查看>>
Linux下用文件IO的方式操作GPIO(/sys/class/gpio)
查看>>
用户态使用gpio监听中断
查看>>
以太网MAC帧结构与数据填充
查看>>
u-boot中添加命令
查看>>
分享两个免费在线shell
查看>>
在DNS服务器上查询域名的地址
查看>>
太阳系演化时序表
查看>>
我们可曾这么认真过?
查看>>
彻底搞懂HTTP协议
查看>>
见识一下cookie
查看>>
关于XSS(跨站脚本攻击)和CSRF(跨站请求伪造)
查看>>
如何防止跨站点脚本攻击
查看>>
黑客是怎样入侵你的网站的
查看>>
人类的祖先为什么会走出非洲
查看>>
电子书收藏
查看>>
网站地址中的www有还是没有
查看>>
RFC文档(中文翻译版本)
查看>>
邮件是怎么发送和接收的(STMP和POP3/IMAP协议)
查看>>
渗透的艺术
查看>>