Sonar

sonarqube官方文档翻译之UserGuide

拥有回忆 提交于 2020-01-20 00:01:45
今天继续学习使用SonarQube分析项目代码,为了便于理解,将官方手册用到的翻译出来。 UserGuide Quality Gate Use the Best Quality Gate Configuration 推荐默认配置,对于每一个版本,我们都会根据SonarQube的能力调整默认质量门(Quality Gate)。SonarQube6.2版本新增了三个度量,可靠比,安全比,可维护性比。极力推荐这些新的度量作为默认质量检查的一部分。 注意质量门的条件,必须使用不同的值。举例说明,对于检查绝对数量值没有意义,如:代码行数大于1000. Quality Gate Status 在Project页面上方会显示质量门现有的状态。 若质量门显示状态为“Fails”,你可以注意到是哪些地方出了问题,也可以为你的其他感兴趣的项目提交新的质量门状态。 Security 质量门可以被任何用户访问。若想要改变质量门配置,必须获得管理员允许。项目管理员可以选择哪个项目和哪个质量门关联。 Define Quality Gate 每个质量门条件是有以下部分组合: 度量(measure) 时间(period):值(对于时间)或漏洞(不同值) 比较操作符 警告值(可选) 错误值(可选) 例如,条件组合可能为: measure:Blocker issue period:Value comparison

两款静态代码检测工具的对比

非 Y 不嫁゛ 提交于 2020-01-16 13:22:00
测试背景 使用工具: 源伞科技Pinpoint Sonarqube 测试项目: 开源国产CMS软件iBase4J(6000行代码) 测试结果汇总 数据统计: SonarQube结果: 代码错误 安全隐患 风格质量 总量 有效/总量 2/6 4/4 0/93 6/103 源伞科技Pinpoint结果: 代码错误 安全隐患 风格质量 总量 有效/总量 2/2 19/19 6/7 27/28 我们将所有bug归为以下3类: 分类 Sonarqube对应分类 Pinpoint对应分类 代码错误 bug类 代码崩溃、数值处理不当类 安全隐患 Vulnerability类 代码安全类 风格质量 Code Smell类 代码风格、性能问题类 有效报告 :我们定义有效报告为真实影响程序执行并值得进一步检查修复的问题报告。 测试细节: 数量: 从数量看,Pinpoint结果确实明显少于SonarQube。但是有效报告明显少于Pinpoint. 安全隐患: 从质量看,首先Pinpoint可以找到很多SonarQube无法发现的Vulnerability,也就是安全隐患(19比4),其中SonarQube找到的4个有效报告Pinpoint也能找到,Pinpoint找到15个SonarQube没有找到的问题。 SonarQube的3个报告属于同一类别,是在exception.printStackTrace

Sonar在Windows下的安装配置

可紊 提交于 2019-12-30 18:07:18
https://blog.csdn.net/huo108/article/details/81160624 1、下载完SonarQube后解压,进入解压路径到bin目录下,启动StartSonar.bat文件。 2、在浏览器上输入: http://localhost:9000 查看是否启动成功 3、配置数据库:新建一个名为sonar的数据库(已经安装了postgresql数据库)。 4、打开sonarqube解压路径下的conf目录打开sonar.properties配置文件,添加数据库连接信息配置: sonar.jdbc.url=jdbc:postgresql://192.168.201.55:5432/sonar sonar.jdbc.username=postgres sonar.jdbc.password=123456 sonar.sorceEncoding=UTF-8 sonar.login=admin sonar.password=admin 5、编辑 wrapper.conf文件 修改java.command地址 wrapper.java.command=java 如果已经配置了Java系统环境变量,这里就可以直接写java,不用做更改。 在Maven的conf/ssettings.xml设置sonar信息 其中<sonar.host.url>http:/

Sonar常见问题及修改建议(201912)

若如初见. 提交于 2019-12-27 05:30:53
Sonar 全称 SonarQube,是一种静态代码检查工具,采用 B/S 架构,帮助检查代码缺陷,改善代码质量,提高开发速度,通过插件形式,可以支持 Java、C、C++、JavaScript 等二十几种编程语言的代码质量管理与检测。 大家都在Idea用sonar插件扫描自己的项目代码,以提高自己的代码质量。本文主要介绍自己在工作中用soanr工具检查JAVA代码时常见的问题及对应修改建议,对有些问题还做了修改分析。文中如有不妥的地方或者有更好的建议,欢迎留言讨论。 Merge this if statement with the enclosing one https://blog.csdn.net/libusi001/article/details/103717499 有用请点赞,养成良好习惯! 疑问、交流、鼓励请留言! 来源: CSDN 作者: 李布斯001 链接: https://blog.csdn.net/libusi001/article/details/103717457

git分支开发管理规范

家住魔仙堡 提交于 2019-12-25 10:35:39
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一、 概要 基于git的版本管理规范及流程,主要包括:代码库分类、代码管理模式、代码管理规范、代码分支创建合并流程。 二、 代码库分类 根据代码库分布的位置及作用,分为以下三类: 主库:位于在线git仓库,所有开发的代码最终都要合到主库; 需求代码库:每次根据需求从主库fork出来,位于在线git仓库。每个开发人员开发的代码,由个人工作库push到对应的需求代码库; 个人工作库:位于每个开发人员的云桌面,从需求代码库clone到云桌面。每个开发人员开发的代码,先commit到个人工作库,再由个人工作库push到需求代码库; 三、 代码库管理模式 本系统采用分支开发+主干发布模式: 所有的代码提交都在分支上操作,系统上线需要构建Release版本时,需要将代码合并到主干上面,平常开发都是在分支上进行,可保证主干代码始终可用; 需求分支合并到主干上线完成后,由代码管理与技术经理、需求负责人确认需求完成之后一个月后删除该分支,后续变更需求需要创建新的branch; 四、 代码管理规范 原则上代码的开发提交,必须通过创建分支进行开发,特殊情况除外(sonar bug); 主分支为生产环境分支,除特殊情况(修复bug),禁止在主干分支上进行开发; 需求分支(分支名称由管理员根据需求内容进行创建)为开发分支

sonarqube+sonar runner分析C#代码

家住魔仙堡 提交于 2019-12-23 06:31:35
最近研究一个代码覆盖率和代码分析工具。遇到一些比较坑的问题,现在分享给大家。 1、Sonar介绍 Sonar是一个用于代码质量管理的开源平台,用于管理Java源代码的质量。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具,比如pmd-cpd、checkstyle、findbugs、Jenkins。通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。 同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。 此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持 一:先搭好环境 1.jdk 1.7的版本,我现在用的1.8的版本,尽量用最新版的: http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html 安装运行JDK以后,还需要做下面的几项配置: -计算机属性》高级系统设置》高级》环境变量》系统变量 - 添加服务器环境变量JAVA_HOME, 内容为Java的安装目录。例如我这里的安装目录为C:\Java\jdk1.8.0_11 -

配置sonar和jenkins进行代码审查

柔情痞子 提交于 2019-12-23 06:31:07
转自: http://www.cnblogs.com/gao241/p/3190701.html, 版权归原作者所有。 本文以CentOS操作系统为例介绍Sonar的安装配置,以及如何与Jenkins进行集成,通过pmd-cpd、checkstyle、findbugs等工具对代码进行持续审查。 一、安装配置sonar 1、Sonar介绍 Sonar是一个用于代码质量管理的开源平台,用于管理Java源代码的质量。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具,比如pmd-cpd、checkstyle、findbugs、Jenkins。通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。 同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。 此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。 2、配置数据库 Apache Derby 是Sonar自带并且默认安装使用的数据库,此外Sonar对如下数据库提供支持:MySQL 5.x, Oracle 10g XE, Postgresql, MS SqlServer等,本文以mysql为例介绍如何配置数据库: 1)创建数据库

代码规范审查 -Sonar环境搭建

…衆ロ難τιáo~ 提交于 2019-12-23 02:01:17
Sonar 概述 Sonar 是一个用于代码质量管理的开放平台,可以进行代码质量的持续跟踪审查,支持的语言包含C#、java、PHP、C等。可以通过UI一睹Sonar的强大之处。 Sonar 安装 Sonar是一个基于java的开源平台,环境安装包含 JDK安装、数据库安装、Sonar Server安装、Sonar Runner安装 。  一、 JDK安装 下载java SDK ,下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html     安装java sdk,直接双击exe进行运行 验证java安装是否成功,打开命令行,运行java –version, 如果显示如下图,代表安装成功!  二、 数据库安装   Sonar支持数据库类型:Sql server、MySQL、Oracle,此处以MySql为例 Mysql数据库下载地址: https://www.mysql.com/downloads/ , 具体安装步骤省略可自行学习。 配置Sonar数据库(创建Sonar数据库、用户等)    CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;    CREATE USER

深层副本和浅层副本有什么区别?

只谈情不闲聊 提交于 2019-12-21 09:58:16
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 深层副本和浅层副本有什么区别? #1楼 复制Arary: Array是一个类,这意味着它是引用类型,因此array1 = array2导致两个变量引用同一数组。 但是看这个例子: static void Main() { int[] arr1 = new int[] { 1, 2, 3, 4, 5 }; int[] arr2 = new int[] { 6, 7, 8, 9, 0 }; Console.WriteLine(arr1[2] + " " + arr2[2]); arr2 = arr1; Console.WriteLine(arr1[2] + " " + arr2[2]); arr2 = (int[])arr1.Clone(); arr1[2] = 12; Console.WriteLine(arr1[2] + " " + arr2[2]); } 浅克隆 表示仅复制由克隆数组表示的内存。 如果数组包含值类型对象,则将值复制 ; 如果数组包含引用类型,则仅复制引用-因此,存在两个成员引用相同对象的数组 。 要创建深层副本(复制引用类型),则必须遍历数组并手动克隆每个元素。 #2楼 特别是对于iOS开发人员: 如果 B 是 A 的 浅表副本 ,那么对于原始数据,它就像 B = [A assign];

Docker学习四-配置SonarQube

房东的猫 提交于 2019-12-17 14:45:09
1、拉取数据库 SonarQube默认使用的PostgreSQL数据库,PostgreSQL也是一个关系型数据库。 docker pull postgres 2、拉取SonarQube docker pull sonarqube 3、启动PostgreSQL   在docker容器中配置启动PostgreSQL,创建一个数据库db_sonar,并创建用户、设置密码: docker run --name db_sonar -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -d postgres 4、启动SonarQube   在docker中配置名为sonarqube_test的sonarqube对象,启动连接名为db_sonar的PostgreSQL对象,并配置进出端口都为9000 docker run --name sonarqube_test --link db_sonar -e SONARQUBE_JDBC_URL=jdbc:postgresql://db_sonar:5432/sonar -p 9000:9000 -d sonarqube 5、登录查看 这里我的docker的IP地址是http://172.17.0.3,端口之前配的是9000,如下打开可以登录,首次登录账号是admin/admin 5、使用sonar