1.使用需求

随着互联网产品迭代越来越快,客户对产品的要求也越来越高,因此如何高质量的交付代码,及时地对代码质量进行分析并给出合理的解决方案就成为了当下必须要解决的一个问题。SonarQube 就是一款初中的代码管理工具,其优势主要体现为:它是一个开源的代码质量管理系统,支持 25+ 种语言,可以通过使用插件机制与 Jenkins 和 JIRA 等其他外部工具集成,从而实现了对代码的质量的全面自动化分析和管理。

2.SonarQube能干什么?

网址:http://www.sonarqube.org/

Sonar是一个用于代码质量管理的开源平台,用于管理Java源代码的质量。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具,比如pmd-cpd、checkstyle、findbugs、Jenkins。通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。 此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。

简单来说:Sonar主要的功能是分析源代码的编写质量。在项目开发阶段,如何保证开发人员在规定时间内既能完成开发功能,又能尽量避免编写过程中的出现的低级失误。使用Sonar可以很好的检查出来。Sonar不仅仅常用于Java源代码质量的检查,由于它已经提供了很多语言的支持,对web开发中常用的css,javascrip,html,php等都有更好的支持。

截至江边望海撰写这篇博客时它的最新版本是5.1.1

3.工作原理介绍

远程客户机可以通过各种不同的分析机制,从而将被分析的项目代码上传到 SonarQube server 并进行代码质量的管理和分析,SonarQube 还会通过 Web API 将分析的结果以可视化、可度量的方式展示给用户。

SonarQube 并不是简单地将各种质量检测工具的结果(例如 FindBugs,PMD 等)直接展现给客户,而是通过不同的插件算法来对这些结果进行再加工,最终以量化的方式来衡量代码质量,从而方便地对不同规模和种类的工程进行相应的代码质量管理。

SonarQube 在进行代码质量管理时,会从图 1 所示的七个纬度来分析项目的质量。

SonarQube 可以支持 25+ 种编程语言,针对不同的编程语言其所提供的分析方式也有所不同:

对于所有支持的编程语言,SonarQube 都提供源了代码的静态分析功能;

对于某些特定的编程语言,SonarQube 提供了对编译后代码的静态分析功能,比如 java 中的 class file 和 jar 和 C# 中的 dll file 等;

对于某些特定的编程语言,SonarQube 还可以提供对于代码的动态分析功能,比如 java 和 C# 中的单元测试的执行等。

4.如何使用

通常可以采用三种不同的方法来发起代码分析,分别为 Analyzing with SonarQube Runner、,Analyzing with SonarQube Ant Task 和 Analyzing with Maven 方法。这三种方法的主要区别是 , 它们分别适用于不同架构和组织形式的项目,并且其相应的配置文件的写法也不尽相同。

如果想在命令行使用Sonar分析源代码,需要下载Sonar-runner

sonar-runner是一个命令行下分析源代码的工具,需要结合着Sonarqube一同使用。

5.参考链接

http://www.ibm.com/developerworks/cn/opensource/os-sonarqube/

sonarqube怎么分析php项目,SonarQube代码质量分析平台介绍相关推荐

  1. 【代码审计】使用SonarQube进行代码质量分析管理

    2019独角兽企业重金招聘Python工程师标准>>> 在之前的开发中,代码的工作量化和质量化都是一个问题,随着近几年互联网行业的快速发展,代码已经可以来工作量化和质量化,今天我们来 ...

  2. sonar是一款静态代码质量分析工具

    sonar介绍 sonar是一款静态代码质量分析工具,支持Java.Python.PHP.JavaScript.CSS等25种以上的语言: 而且能够集成在IDE.Jenkins.Git等服务中,方便随 ...

  3. 代码质量检测平台架构设计

    「前言」 你是否清楚的了解自己的项目有多少个文件夹.多少个文件.多少行代码.多少个函数.多少个字符数? 你是否在项目中引入过代码质量检测相关的工具? 你是否在不同项目的切换中饱受indent=2还是i ...

  4. 静态HTML网页设计作品 代码质量好-上海介绍(5页) HTML+CSS+JavaScript(含源码)

    HTML5期末大作业:上海介绍网站设计--代码质量好-上海介绍(5页) HTML+CSS+JavaScript(含源码) 一.作品展示 二.文件目录 三.代码实现 <!DOCTYPE html& ...

  5. Docker运行sonarqube (代码质量检测平台)

    onarqube是什么 SonarQube是用于持续检查代码质量的开源平台. 可用于持续集成,持续部署流程中的代码检测环节. idea和jenkins都提供了插件配合使用. liunx推荐配置环境 l ...

  6. github 检查代码质量_如何提升开源项目的代码质量?

    我们在github上面浏览开源项目的时候,经常可以看到一些小图标badge.这些图标往往暗示了该项目的代码质量,下面以我给gorazor项目添加的badge为例,逐一讲解一下: 本文虽然是以go项目为 ...

  7. 商业项目中代码质量是否重要?

    这是一篇比较老的 文章,但是文中的这些问题在现在仍然普遍存在.代码质量的高低与商业产品的优劣是否有直接的影响?开发者Frank Sommers在文中给出了他的看法.文章内容如下. 在大多数商业项目中, ...

  8. 小学生数学测试软件编写分析,小学数学测试的质量分析

    六年级数学期末考试质量分析 一.试卷评价 本试卷涵盖面比较广,考查了学生多方面的能力,试卷紧扣新课程理念,从概念.计算.操作.应用等方面考查学生的双基.思维.操作.问题解决的能力,可以说全面考查了学生 ...

  9. 四年级计算机期末质量分析,四年级期末考试质量分析

    考试作为一种实现教育目的的手段,它有存在的合理性.下面是小编整理的四年级期末考试质量分析,欢迎参考! [1]四年级期末考试质量分析 一 .试题分析 1.总体认识 我认为本次考试试题以<21011 ...

最新文章

  1. AI视觉组培训第二弹——入门篇
  2. C2679 二进制 没有找到接受 std::string 类型的右操作数的运算符(或没有可接受的转换)
  3. JVM:我就想知道我是怎么没的
  4. MyEclipse非正常关闭问题
  5. cordic ip核 vivado_vivado中Cordic IP核使用——计算正余弦(sin/cos)
  6. SAP License:SAP权限管理讲财务(二)-看懂财务报表
  7. Mybatis-plus 将字段更新为null
  8. 关于DHCP超级域与中继代理的疑问
  9. unity打开摄像头
  10. 【标准】ISO14001:2015新版标准正式发布
  11. 智齿科技携手无忧我房 VR+AI新品亮相GTC
  12. MapReduce之week2 test 分区计算结余(练习)
  13. 让美容院业绩翻番,您只差一套软多共享股东系统
  14. 根据年份判断属相php,自动算出生肖属相的c程序编写程序,输入一个年份,判断该年属相.(提示switch-case......
  15. 1040 有几个PAT (25分)
  16. 16丨数据分析基础篇答疑
  17. 电脑死机,虚拟机里面的系统开不了
  18. iframe高度自适应问题
  19. 推荐一个加载动图的网站loading.io
  20. 《安富莱嵌入式周报》第263期:2022.04.25--2022.05.01

热门文章

  1. Tomcat 5.0.18 安装配置指南
  2. Linux性能监测(系统监测统计命令详解)
  3. 【audio】耳机插拔 线控按键识别流程【转】
  4. 我的Java设计模式-单例模式
  5. jstl core and jstl fn
  6. C#0008--制作闪烁的窗体
  7. 等概率随机函数的实现(对立事件的产生)
  8. CV Code | 本周计算机视觉新出开源代码汇总(含医学图像分割、神经架构搜索、姿态迁移、超分辨率等)...
  9. 《python透明人士,他是凭什么成为主流编程的宠儿?!》python基础语法
  10. 深度学习“四大名著”发布!Python、TensorFlow、机器学习、深度学习四件套!