Sonar简介

如何使用Sonar进行静态扫描(Windows系统) 与持续集成工具(例如 Hudson/Jenkins 等)不同,Sonar 并不是简单地把不同的代码检查工具结果(例如 FindBugs,PMD 等)直接显示在 Web 页面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。1、在sonar 服务已经搭建,Jenkins所在主机可以正常访问的情况下,进到jenkins安装插件的界面,搜索“SonarQube Scanner”,安装好后重启Jenkins服务。 阅读详情

Sonar介绍

  Sonar 是一个用于代码质量管理的开放平台。通过插件机制,Sonar 可以集成不同的测试工具、代码分析工具,以及持续集成工具。与持续集成工具(例如 Hudson/Jenkins 等)不同,Sonar 并不是简单地把不同的代码检查工具结果(例如 FindBugs,PMD 等)直接显示在 Web 页面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。

Sonarqube

SonarQube 是一种自动代码审查工具,用于检测代码中的错误,漏洞和代码格式上的问题。它可以与用户现有的工作流程集成,以实现跨项目分支和提取请求的连续代码检查,同时也提供了可视化的管理页面,用于查看检测出的结果。作为Sonar 解决方案的核心元素 ,SonarQube 集成到用户现有的工作流程中并检测代码中的问题,以帮助用户对项目执行持续的代码检查。该工具可分析 30 多种不同的编程语言 ,并集成到用户的 CI 管道 和 DevOps 平台中 ,以确保其代码符合高质量标准。 

结构

概念定义
Analyzer分析源代码以计算 snapshots 的客户端应用程序。
Database存储配置和 snapshots。
Server用于浏览 snapshots 数据和进行配置更改的 Web 界面。

Sonarqube是sonar的服务端,相当于一个web服务器,用来发布应用,在线浏览、配置分析等。

源码中每个文件夹的作用

下面简单说一下每个文件夹的作用:

    bin:sonarqube运行命令文件夹

    conf:sonarqube配置文件夹

    data:嵌入式数据库的数据(H2数据库引擎),建议只用于测试和演示

    extensions:sonarqube的插件等存放文件夹

    lib:sonarqube存放的运行库文件夹(jar)

    logs:sonarqube日志文件夹

    temp:sonarqube临时文件夹

    web:sonarqube系统UI界面文件夹

四种类型规则

SonarQube对源代码执行规则以产生问题。有四种类型的规则:

代码异味(可维护性域):可维护性问题,代码是否混乱且难以维护。
错误(可靠性域):可能导致运行时错误或意外行为的编码错误。
漏洞(安全域):代码中容易受到攻击的点。
安全热点(安全域):突出显示开发人员需要检查的安全敏感代码段,和漏洞之间的主要区别是 ——在决定是否应用修复之前需要进行审查

质量门 Quality Gate

您的质量门是一组条件,可以告诉您项目是否已准备好发布。通过“代码清洁”方法,您的质量门应该:

  • 专注于新的代码指标 - 当您的质量门设置为专注于新的代码指标(例如内置的 Sonar 方式质量门)时,新功能将干净地交付。只要您的质量门是绿色的,您的版本就会不断改进。
  • 设定并执行高标准 – 当对新代码设定并执行标准时,您不必担心必须在旧代码中满足这些标准以及必须清理其他人的代码。您可以为 自己的 代码达到高标准而感到自豪。如果一个项目不符合这些高标准,它就无法通过质量关卡,因此无法发布。
  • 成为代码质量的可靠衡量标准- 当您始终通过质量门时,您就清楚地表明开发人员可以对所有新代码保持高标准。

指标定义

复杂度

复杂度 ( complexity):复杂度是指圈复杂度,是一种用于计算代码路径数量的定量指标。每当函数的控制流分裂时,复杂性计数器就会加一。每个函数的最小复杂度为 1。此计算因语言而略有不同,因为关键字和功能会有所不同。

重复

重复块 ( duplicated_blocks):重复行块的数量。

重复文件 ( duplicated_files):涉及重复的文件数量。

重复行 ( duplicated_lines):涉及重复的行数。

重复行 (%)  ( duplicated_lines_density):  duplicated_lines / (代码行数) * 100

问题

新问题 ( new_violations):关于新代码首次提出的问题数量。

新 xxx 问题 ( new_xxx_violations):新代码中首次提出的指定严重性问题的数量,其中 xxx 是以下之一:  blocker,  critical,  major,  minor,  info。

问题 ( violations):所有州的问题总数。

xxx 问题 ( xxx_violations):指定严重性的问题总数,其中 xxx 是以下之一:  blocker,  critical,  major,  minor,  info。

误报问题 ( false_positive_issues):标记为误报的问题总数。

未解决问题 ( open_issues):处于未解决状态的问题总数。

已确认问题 ( confirmed_issues):处于已确认状态的问题总数。

重新打开的问题 ( reopened_issues):处于重新打开状态的问题总数。

可维护性

代码异味 ( code_smells):代码异味问题的总数。

新代码异味 ( new_code_smells):新代码中首次提出的代码异味问题总数。

可维护性评级 ( ):(以前称为 SQALE 评级。)对项目的评级与技术负债率sqale_rating的值相关。默认的可维护性评级网格为:

A=0-0.05,B=0.06-0.1,C=0.11-0.20,D=0.21-0.5,E=0.51-1

可维护性评级量表也可以这样表述:如果未完成的修复成本是:

  • <=5% 已进入申请的时间,评级为 A
  • 6% 到 10% 之间,评级为 B
  • 11% 到 20% 之间,评级为 C
  • 21% 到 50% 之间,评级为 D
  • 任何超过 50% 的都是 E

技术债务 ( sqale_index):修复所有代码异味的努力程度。该测量值以分钟为单位存储在数据库中。当值以天为单位显示时,假定每天有 8 小时。

新代码的技术债务 ( new_technical_debt):修复新代码上首次出现的所有代码异味所需的工作量。

技术负债率 ( sqale_debt_ratio):开发软件的成本与修复软件的成本之间的比率。技术负债率公式为:Remediation cost / Development cost
可以重述为:Remediation cost / (Cost to develop 1 line of code * Number of lines of code)
开发一行代码的成本值为 0.06 天。

新代码的技术负债率 ( new_sqale_debt_ratio):开发新代码更改代码的成本与与其相关的问题的成本之间的比率。

可靠性

Bugs  ( bugs): Bug 问题的总数。

新错误 ( new_bugs):新错误问题的数量。

可靠性评级 ( reliability_rating)
A = 0 个错误
B = 至少 1 个小错误
C = 至少 1 个主要错误
D = 至少 1 个严重错误
E = 至少 1 个阻止错误

安全

漏洞 ( vulnerabilities):漏洞问题的数量。

新代码上的漏洞 ( new_vulnerabilities):新漏洞问题的数量。

安全评级 ( security_rating)
A = 0 个漏洞
B = 至少 1 个次要漏洞
C = 至少 1 个主要漏洞
D = 至少 1 个严重漏洞
E = 至少 1 个阻止程序漏洞

尺寸

类 ( classes):类的数量(包括嵌套类、接口、枚举和注释)。

注释行 ( comment_lines):包含注释或注释掉的代码的行数。

非重要注释行(空注释行、仅包含特殊字符的注释行等)不会增加注释行数。

注释数(%)  ( comment_lines_density):注释行密度=注释行数/(代码行数+注释行数)*100

有了这样一个公式:

  • 50%表示代码行数等于注释行数
  • 100% 表示该文件仅包含注释行

目录 ( directories):目录的数量。

文件 ( files):文件数量。

行数 ( lines):物理行数(回车数)。

代码行数 ( ncloc):包含至少一个字符的物理行数,该字符既不是空格,也不是表格,也不是注释的一部分。

每种语言的代码行数 ( ncloc_language_distribution):按语言分布的非注释代码行。

函数 ( functions):函数的数量。根据语言的不同,函数可以定义为函数、方法或段落。

项目 ( projects):投资组合中的项目数量。

语句 ( statements):语句数。

测试

条件覆盖率 ( branch_coverage):在包含一些布尔表达式的每一行代码上,条件覆盖率回答以下问题:“每个布尔表达式是否都被评估为true和false?”。这是单元测试执行期间遵循的流量控制结构中可能条件的密度。

条件覆盖率 = (CT + CF) / (2*B)
其中:

  • CT = 至少一次被评估为“真”的条件
  • CF = 至少一次被评估为“假”的条件
  • B = 条件总数

新代码的条件覆盖 ( ):此定义与条件覆盖new_branch_coverage相同,但仅限于新的/更新的源代码。

条件承保范围命中 ( branch_coverage_hits_data):承保条件列表。

按行的条件 ( conditions_by_line):按行的条件数。

按行覆盖的条件 ( covered_conditions_by_line):按行覆盖的条件数。

覆盖范围 ( ):线路覆盖范围和条件覆盖范围coverage的混合。其目标是提供更准确的答案“单元测试覆盖了多少源代码?”。

覆盖范围 = (CT + CF + LC)/(2*B + EL)
其中:

  • CT = 至少一次被评估为“真”的条件
  • CF = 至少一次被评估为“假”的条件
  • LC = 覆盖线 = 覆盖线-未覆盖线
  • B = 条件总数
  • EL = 可执行行总数 ( lines_to_cover)

新代码的覆盖率 ( ):此定义与覆盖率new_coverage相同,但仅限于新的/更新的源代码。

行覆盖率 ( line_coverage):在给定的代码行上,行覆盖率只是回答“在执行单元测试期间是否执行了这行代码?”的问题。它是单元测试覆盖的线的密度:

线路覆盖率 = LC / EL
其中:

  • LC = 覆盖线 ( lines_to_cover -  uncovered_lines)
  • EL = 可执行行总数 ( lines_to_cover)

新代码的行覆盖率 ( ):此定义与行覆盖率new_line_coverage相同,但仅限于新的/更新的源代码。

线路覆盖命中 ( coverage_line_hits_data):覆盖线路的列表。

要覆盖的行数 ( lines_to_cover):单元测试可以覆盖的代码行数(例如,空白行或完整注释行不被视为要覆盖的行)。

新代码上要覆盖的行 ( ):此定义与要覆盖的行new_lines_to_cover相同,但仅限于新的/更新的源代码。

跳过的单元测试 ( skipped_tests):跳过的单元测试的数量。

未覆盖的条件 ( uncovered_conditions):单元测试未覆盖的条件数。

新代码上的未覆盖条件 ( ):此定义与未覆盖条件new_uncovered_conditions相同,但仅限于新的/更新的源代码。

未覆盖行数 ( uncovered_lines):单元测试未覆盖的代码行数。

新代码上未覆盖的行 ( ):此定义与未覆盖的行new_uncovered_lines相同,但仅限于新的/更新的源代码。

单元测试 ( tests):单元测试的数量。

单元测试持续时间 ( test_execution_time):执行所有单元测试所需的时间。

单元测试错误 ( test_errors):失败的单元测试数。

单元测试失败 ( test_failures):因意外异常而失败的单元测试数量。

单元测试成功密度 (%)  ( test_success_density):测试成功密度 = (单元测试 - (单元测试错误 + 单元测试失败)) / (单元测试) * 100

SonarScanner

sonarqube-scanner相当于sonar客户端,SonarScanner是一个单独的客户端类型应用程序,与SonarQube服务器连接将运行项目分析,然后将结果发送到SonarQube服务器进行处理。SonarScanner可以处理SonarQube支持的大多数编程语言。它通常位于持续集成代理(工作线程)或单独的 docker 映像中,具体取决于项目流。

SonarQube主要分为几个模块:WebServer、CeServer、Scanner

其中Scanner是在本地执行扫描分析的工具,也就是说SonarScanner是在本地执行扫描分析之后将结果上传到服务端进行分析。本文重点介绍一下 Scanner 的源码和原理。

SonarScanner 的源码主要有三部分,一个是 SonarScannerCli 用来执行命令和接收参数(https://github.com/SonarSource/sonar-scanner-cli.git),另一个是 SonarScannerApi ,主要用来下载插件包和加载类 (https://github.com/SonarSource/sonar-scanner-api.git),还有真正用来执行扫描的 SonarScannerEngine (https://github.com/SonarSource/sonarqube/tree/master/sonar-scanner-engine)

Cppcheck

Cppcheck 是一种 C/C++ 代码缺陷静态检查工具。不同于 C/C++ 编译器及很多其它分析工具,它不检查代码中的语法错误。Cppcheck 只检查编译器检查不出来的 bug 类型,其目的是检查代码中真正的错误(即:零误报)。

支持的代码和平台:

1. 可以检查非标准代码,包括不同的编译器扩展、内联汇编代码等。
2. Cppcheck 应该在能够处理最新 C++ 标准的任何 C++ 编译器所编译。
3. Cppcheck 应该在有足够 CPU 和内存的平台上工作。


Cppcheck 的局限性:Cppcheck 很少在报告错误方面出错,但有一些 bug 无法检出。
 

代码静态扫描工具sonar介绍 一、SonarQube整体介绍   SonarQube为静态代码检查工具,采用B/S架构,帮助检查代码缺陷,改善代码质量,提高开发速度,通过插件形式,可以支持Java、C、C++、JavaScripe等等二十几种编程语言的代码质量管理与检测。   通过客户端插件分析源代码,sonar客户端可以采用IDE插件、Sonar-Scanner插件、Ant插件和Maven插件方式,并通过各种不同的分析机制对... 阅读详情

相关推荐

Sonar - 代码静态扫描工具在 Erlang 中的介绍

注意:在实际使用 Sonar 进行代码静态分析时,可以根据项目的具体需求和规模进行相应的配置和定制,以获得更准确和有针对性的分析结果。代码质量评估:Sonar 可以对代码进行全面的静态分析,评估代码的质量并发现潜在的问题,如代码重复、代码复杂度过高、未使用的变量等。代码覆盖率分析:Sonar 可以通过集成代码覆盖率工具,对代码的测试覆盖率进行分析,帮助开发者评估测试的完整性和质量。提高代码质量:Sonar 可以帮助开发者发现并修复代码中的潜在问题,提高代码的质量和可维护性。

XtmData的博客 435

sonar使用

Sonar使用文档 说明 Sonar使用文档是为了方便开发人员在使用时更快上手. 本文档适用于SonarQube7.6版本. 简介 sonar, 全称sonarqube, 是一个开源的代码质量分析平台,便于管理代码的质量,通过SonarQube 我们可以检测出项目中重复的代码. 潜在BUG, 代码规范, 安全性漏洞等问题, 并通过SonarQube web UI展示出来, 同时, 它提供了丰富的插件,支持多种语言的检测, 如Java、Python、Groovy、C、C...

weixin_41533604的博客 6388

Codex本地部署指南:从环境配置到API集成实战

Codex作为OpenAI推出的代码生成模型,能够根据自然语言描述自动生成代码片段,大幅提升开发效率。这次我们重点分析Codex的本地部署方案、硬件门槛、接口调用方式和实际使用效果,帮助开发者判断是否值得投入时间部署。 从技术架构看,Codex基于GPT-3模型微调,专门针对代码生成任务优化。最新版本支持多种编程语言,包括Python、JavaScript、Java、C++等主流语言。对于国内开发者来说,最关心的是能否在本地环境稳定运行,以及是否需要特殊网络配置。 1. 核心能力速览 能力项 技术说明 模型

weixin_33309048的博客 525

静态代码扫描工具 Sonar 配置及使用

静态代码扫描工具 Sonar 配置及使用

洛西纳的专栏 1万+

USC EE450 CSCI455 CSCI571 Midterm 总结

EE450 Compter Network                1.历年Midterm考题。(更新至2017年spring,如果大家有新的资源欢迎编辑)                 google drive:https://drive.google.com/drive/folders/0B_LCDxpiiXZ1cUNReFpZZHo4NG8?usp=sharing

Small_hour 7112

MQL5教程 01 MT5有关EA的操作、MetaEditor 工具栏主要功能

MQL5教程 01 MT5有关EA的操作、MetaEditor 工具栏主要功能

weixin_42830015的博客 3988

Sonar简介及使用

Sonar简介 Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量 通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测 sonarQube能带来什么? Developers' Seven Deadly Sins 1.糟糕的复杂度分布 文件、类、方法...

香烟达人的博客 6万+

国产NAS哪家强?极空间&绿联&威联通&群晖对比

随着个人数据量暴增,传统网盘空间不足和下载速度慢问题愈发凸显。新势力NAS,作为数据管理领域的璀璨新星,正以其独特的互联网设计理念,引领家庭及小型办公用户向数据存储的新纪元。它不仅仅是一款产品,更是为初学者用户量身定制的贴心伙伴。其系统界面之简洁、操作流程之直观,让人一目了然,真正实现了“即插即用”的极致便捷。同时,新势力NAS在保持专业水准的同时,更提供了多样化的扩展性配置,轻松应对各种数据存储与管理需求,让家庭及小型办公场景下的数据管理变得前所未有的简单与高效。

专注大数据、云计算、人工智能、机器人领域技术传播 3647

sonar代码检查简介

sonar简介 具体安装大家可以看下这位大哥的:https://www.cnblogs.com/tiaoshuidenong/p/10142840.html 本文分为三部分: 一、Sonar简介 二、Sonar数据分析 三、单元测试为0,解决方法 bug、漏洞、异味中的不规范代码数量不冲突 Sonar简介 1、bug(可靠性) 2、漏洞: 3、异味 4、覆盖率 5、重复 二、数据分析 1、优先级: bugs>漏洞>异味>重复率 2、对于问题可以进行四种状态变更,也可自行评比规则

huanghuang9426的博客 4142

青龙人形机器人硬件平台设计全解析:从构型到控制系统的实战指南

本文全面解析了青龙人形机器人硬件平台的设计与实现,涵盖构型设计、驱动系统、能源方案及控制系统等核心模块。重点介绍了43个自由度的仿生学实践、关节模组的技术突破以及多模态感知融合等创新设计,为开发者提供了从理论到实战的完整指南。

embedding5hiker的博客 890

华为OD机试:使用Ascend C语言实现Matmul与LeakyReLU融合算子的全流程设计与优化解析

通过本文的详细解析,相信你已经对华为OD机试中基于Ascend C语言的Matmul+LeakyReLU融合算子的设计与实现有了深入的理解。我们不仅从理论上探讨了融合算子的核心优势,还通过实际的代码示例演示了如何一步步完成算子的实现与优化。融合算子在AI算子开发中的应用,尤其是在处理大规模矩阵计算的场景中,能够显著提升计算效率,优化内存占用,并减少数据传输的开销。通过合理的Tiling策略设计,我们还能够充分利用多核处理器的算力,进一步提升AI模型的训练与推理性能。

qq_38334677的博客 661

Sonar 简介 SonarQube

一、概述 本文讲解 Sonar 的简介。 二、Sonar 简介 1. 定义 sonar是一个代码质量管理的开源平台,用于管理源代码的质量,通过插件形式,可以支持包括java、C#、JavaScript等二 十余种编程语言的代码质量管理与检测。 2. 特性 对代码复杂度的一个分析 复杂度过高导致的后果 (1) 很难理解 (2) 很难维护 (3) 很容易出错 检测重复的代码 函数更改,很容易忘记一起更改。 复用代码可以提高效率 检测单元测试的覆盖率 白盒测试的一种方法 检测代码是否符合相应标准 规范化和标准化

皮酱的博客 3084

【图像去噪】论文复现:降维打击!图像对输入变成像素对输入!Pytorch实现Noise2Void(N2V),基于U-Net模型训练,简洁明了理解N2V核心思想!附训练好的灰度图和RGB图的模型文件!

论文题目:Noise2Void-Learning Denoising from Single Noisy Images —— Noise2Void -从单个噪声图像中学习去噪【图像去噪】论文精读:Noise2Void-Learning Denoising from Single Noisy Images(N2V)由于源码是tensorflow版本,本文将基于Pytorch复现。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 1356

android sonar 简书,Sonar简介

question为什么要做静态代码扫描,何时做,怎么做static code analysisDynamic Analysis:code coveragesufficiencyquality of unit testsmemory leakssonar插件开发....简介Sonar(SonarQube)是一个开源的静态代码扫描(Sonar Scanner)和度量的平台,通过插件形式,可以支持多种语...

weixin_34270705的博客 659

验证码破解2.0:Python+CV大模型搞定滑块/点选验证

核心创新:基于YOLOv8+SAM CV大模型的端到端验证码破解方案,无需人工设计特征,适配多种验证码类型;核心价值高成功率:滑块验证≥95%,点选验证≥90%,远超传统CV方案;低延迟:单验证码破解≤2秒,满足高并发采集需求;行为模拟:生成符合人类操作的轨迹,绕过行为检测;易扩展:统一架构支持新增验证码类型,仅需少量标注数据微调;技术要点采用YOLOv8实现快速目标检测,SAM实现像素级分割;生成物理规律的人类轨迹,模拟真实操作行为;

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1261

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

sonar web功能简介

sonar web功能介绍前言一、总项目概览:二、单项目总览三、问题查找与处理四、指标五、代码六、活动七、代码规则八、质量配置九、质量阈十、配置十一、帮助 前言 安装指南请查看另外一篇:链接 一、总项目概览: 点击展示有权限的项目 bm-mallorder-parent项目的名称,maven项目一般以主pom下的artifactId 属性值为名 扫描结论,"错误"表示这一次与上一次的扫描对比有新增bug。"正常情况"表示首次扫描或者与上一次扫描没有新增问题。 "157k"代表扫描的代码行数 代表扫描的语

小生测试的博客 2721

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

sonar java_JAVA开发必知工具-Sonar简介及使用

Sonar简介Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测sonarQube能带来什么?Developers' Seven Deadly Sins1.糟糕的复杂度分布文件、类、方法等,如果复杂度过高将...

weixin_28729205的博客 2599

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Sonar入门(一):简介

什么是Sonar? Sonar是一个开源的代码质量管理平台。它能对代码进行如下7个维度的管理。 使用插件,它可以对20多种语言进行代码质量管理,这其中包括Java,C#,C/C++,PL/SQL等等。 安装Sonar 1.下载sonar,地址http://www.sonarqube.org/downloads/。通常选取稳定版本下载即可,这是一个zip文件。 2.解压下载

javaACMer的专栏 2043

sonar测试 -- java环境的基础搭建与项目测试简介

sonar测试 – java环境的基础搭建 java 环境配置 jdk 11的下载 下载地址: 链接:https://pan.baidu.com/s/1FV4079Brzl1QUAVZXRrBtg 提取码:3k9s 环境变量 右键我的电脑-属性-高级系统设置-环境变量 在系统变量框点击新建,进行如图的配置,变量值填写jdk安装路径 依旧在系统变量框点击新建。新增变量 CLASSPATH,变量值“.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar”

monkey's的博客 1219

持续集成-hudson+sonar简介

  H udson 是一个可扩展的持续集成引擎。主要用于:持续、自动地构建/ 测试软件项目. 监控一些定时执行的任务。   Sonar 是一个开源的质量管理平台,专注于从项目到类方法的持续的分析和测量技术质量,它把代码质量相关软件集成到一起统一管理;   简单来说, hudson 是持续、自动地构建/ 测试软件项目, 而sonar ...

阿里巴巴B2B诚信开发部 186

JAVA开发必知工具-Sonar简介及使用

Sonar简介 Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量 通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测 sonarQube能带来...

cidou6637的博客 962
上一篇: sonarqube+cppcheck windows平台配置
transform_xbc
博客等级 码龄10年 113粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值