目录

SonarQube使用介绍

工作流程:

工作流程介绍

主要作用

衡量代码质量的几个指标

SonarQube的UI界面:

个人解决项目中的bug,异味总结

①:变量声明后不使用,多余变量

②:方法名、变量名不符合命名规范

③:常量命名不规范

④:删除无用的依赖

⑤:禁止使用 System.out.println(""); 打印内容

⑥:Controller类中不要抛出异常,需要用try,catch捕获

⑦:删除无用的注释,例如用于测试的代码

⑧:将程序中的 //TODO 尽快完成

如果本篇博客对您有一定的帮助,大家记得留言+点赞+收藏哦。


SonarQube使用介绍

SonarQube® 是一种自动代码审查工具,用于检测代码中的错误、漏洞和代码异味。它可以与您现有的工作流程集成,以实现跨项目分支和拉取请求的持续代码检查。

SonarQube 是一个用于代码质量管理的开源平台,用于管理源代码的质量。 通过插件形式,可以支持包括 java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等等二十几种编程语言的代码质量管理与检测。

工作流程:

工作流程介绍

1.开发人员在IDE中开发和合并代码,并将代码签入到DevOps平台。

2.持续集成工具(如jenkins)检查、构建和运行单元测试,集成SonarQube扫描仪分析结果。

3.扫描程序将结果发布到SonarQube服务器,该服务器通过SonarQube界面、电子邮件、IDE内通知(通过SonarLint)和拉入或合并请求的装饰(使用Developer Edition及更高版本时)向开发人员提供反馈。

主要作用

编写整洁代码

把出现在代码里的新问题都解决掉,就可以创建并维护一个干净的代码基础。即使是遗留项目,保持新代码的整洁,也能最终获得一个值得骄傲的代码基础。

修复代码缺陷

缺陷图例和默认质量阈都是基于新代码周期的 - 当前周期就是处理问题的时间。主要的关注点是上一个版本,通常会选择30天作为一个周期。

加强质量阈

项目的质量阈是在发布到生产环境之前所需要达到的一系列的条件标准。质量阈可以确保下一个版本的代码质量总能高于上一个版本。

Sonar的优点:

(1)支持所有语言的检测。一个工具,搞定所有。

(2)灵活扩展,插拔式使用。自定义的代码检测规则,可自定义插件,独立打成JAR包放到SONARQUBE插件目录下,重启即生效,开发使用非常方便。而且自带UT验证框架,开发效率高。

(3)规则支持多租户隔离。租户可定制自己的规则集。

(4)生态强大,业界有诸多插件,与jenkins友好集成。

(5)部署使用便捷。

(6)架构松耦合,通过与maven/jenkins等集成,将代码扫描的计算消耗迁移到业务或者构建方的资源上,极大的提升了自身的吞吐能力。

衡量代码质量的几个指标

1.Bugs Bug是出现了明显错误或是高度近似期望之外行为的代码。

2.漏洞 漏洞是指代码中可能出现被黑客利用的潜在风险点。

3.安全热点 安全敏感代码需要手工审核,以便判断是否存在安全漏洞。

4.异味 代码异味会困扰代码的维护者并降低他们的开发效率。主要的衡量标准是修复它们所需的时间。

5.重复率 新代码中的重复行密度 (%),重复行数,重复代码块

6.行数 程序中代码的行数

SonarQube的UI界面:

等等

sonarqube的官网


个人解决项目中的bug,异味总结

①:变量声明后不使用,多余变量

正例:localValue/getHttpMessage()/GroupController

②:方法名、变量名不符合命名规范

例如:方法名、参数名统一使用驼峰命名法(Camel命名法),除首字母外,其他单词的首字母大写,其他字母小写,类名每个组合的单词都要大写;

③:常量命名不规范

禁止缩写。命名尽量简短,不要超过16个字符

采用完整的英文大写单词,在词与词之间用下划线连接,如:DEFAULT_VALUE。

同一组的常量可以用常量类封装在一起,便于引用和维护

代码中用到常量的,用静态常量表示

正例

Private final static String SUCCESS=”success”;

Private final static String ERROR = “error”;

调用:类名.SUCCESS    

④:删除无用的依赖

import中灰色的部分

⑤:禁止使用 System.out.println(""); 打印内容

推荐使用

private static Log logger = LogFactory.getLog(AopGetService.class);

或者

log.info("章节拼接成功!");

⑥:Controller类中不要抛出异常,需要用try,catch捕获

⑦:删除无用的注释,例如用于测试的代码

⑧:将程序中的 //TODO 尽快完成

⑨:等等~~


如果本篇博客对您有一定的帮助,大家记得留言+点赞+收藏哦。

SonarQube使用介绍相关推荐

  1. sonarqube连mysql_.net持续集成sonarqube篇之sonarqube安装与基本配置

    原标题:.net持续集成sonarqube篇之sonarqube安装与基本配置 Sonarqube下载与安装 Sonarqube下载地址是:https://www.sonarqube.org/down ...

  2. .net持续集成sonarqube篇之sonarqube安装与基本配置

    Sonarqube下载与安装 Sonarqube下载地址是:https://www.sonarqube.org/downloads/下载版本有两个,一个是长期支持版,另一个是最新版,此处安装的是最新版 ...

  3. SonarQube最全使用教程

    Sonar简介 Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量 通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaS ...

  4. SonarQube代码质量检查平台

    前言:code review: 随着业务的发展,系统越来越庞大,原本简单稳定的功能,可能在不断迭代后复杂度上升,潜在的风险也随之暴露,导致最终服务不稳定,造成业务价值的损失.而为了减少这种情况,有一种 ...

  5. sonarQube(代码扫描工具)安装配置

    sonarqube使用介绍@[TOC]sonarqube使用介绍 sonarQube使用介绍 本文不讲解 什么是sonarQube,请自行了解 sonarQube安装 sonarQube分为2个 部分 ...

  6. 代码静态扫描工具sonar介绍

    一.SonarQube整体介绍 SonarQube为静态代码检查工具,采用B/S架构,帮助检查代码缺陷,改善代码质量,提高开发速度,通过插件形式,可以支持Java.C.C++.JavaScripe等等 ...

  7. SonarQube使用教程及案例

    转载:http://t.csdn.cn/VAf1e 原文链接:https://blog.csdn.net/a745233700/article/details/126326765 前言:code re ...

  8. Linux 下安装 sonarQube

    sonarQube详细介绍看我这篇文章:代码分析工具 - SonarQube_单椒煜泽的博客-CSDN博客_代码分析工具 SonarQube下载地址:Download | SonarQube Wind ...

  9. 测试工具-----Sonarqube

    sonarqube的介绍 sonarqube主要用于代码静态分析,用于检查代码是否存在存在的格式,bug,安全漏洞问题,同时也提供了复杂度,代码 行数等质量度量数据. 代码静态分析(Program S ...

最新文章

  1. c语言链表创建递归,递归创建二叉树c语言实现+详细解释
  2. Java实现字符全阵列阵列
  3. 26Java中的多态
  4. pr如何处理音效_学视频剪辑 PR通关教学课程 教程
  5. 关于WebService中用到的QName详解
  6. 【CodeForces - 227A】Where do I Turn? (计算几何,叉积判断直线拐向)
  7. jmx监控java进程_用VisualVM远程监控Java进程
  8. Web前端三大主流框架是什么?Web前端前景与就业形势
  9. C#_LINQ(LINQ to Entities)
  10. MySQL主从同步(一)——原理详解
  11. java学习之单件模式
  12. python进行数值模拟代码_数值模拟方法
  13. 机器视觉可以应用到哪些领域,你都知道吗?
  14. 基于SSH开发教务排课系统
  15. 太阁5 800人物 喜好
  16. 网络技术大讲堂:什么是IPv6+?
  17. 31、OPNET信道模型概述
  18. fr4速度 微带线_微带线和带状线(microstrip and stripline)
  19. 分享云安全实践,透视2022亚马逊云科技re:Inforce全球安全大会
  20. OmniPlan非工作时数与额外工作时数

热门文章

  1. 自动驾驶行业常见的一些英文缩写
  2. jquery怎么实现页面刷新后保留鼠标点击addclass的样式
  3. F5 多个严重漏洞通告
  4. 内蒙古二连浩特:边境小城
  5. iPhone手机静音键的秘密,难怪能一直保留到现在,涨知识了
  6. 最后的绿洲服务器维护,《最后的绿洲》服务器下线检修 提供Steam全额退款
  7. PHP怎么写游戏成就系统,游戏成就系统成就了什么
  8. 小马哥----高仿苹果6sp主板型号A9910-尾插盖板A992标示 刷机拆机图与开机界面图
  9. 必知必会--HashMap扩容机制
  10. youtube-dl,又复活了!