中秋小长假结束,放松过后的你准备好新一轮的学习了吗?端坐小板凳开始study吧!

今天为大家带来的课程是《代码检查规则背景及总体介绍》,将从代码检查的意义、代码检查场景及工具、代码检查规则分级三个方面来解读代码检查规则。

一、代码检查的意义

01

提高代码可读性,统一规范,方便他人维护,长远来看符合公司内部开源战略。

02

帮助发现代码缺陷,弥补人工代码评审的疏漏,节省代码评审的时间与成本。

03

有助于提前发现问题,节约时间成本,降低缺陷修复成本。

04

促进公司编码规范的落地,在规范制定后借助工具进行准入检查。

05

提升编码规范的可运营性,针对反馈较多的不合理规范进行调整更新。

二、代码检查场景及工具

1、代码检查场景

首先是本地研发环节,借助客户端工具,在push发起评审之前进行检查。

若本地代码扫描没有出现问题,就进入第二个环节:代码准入环节,即Code Review,这一环节进行增量检查,属于公司强制要求。

第三个环节:持续集成环节,当代码合入到代码库之后,进行全量检查,业务线根据自身需求来配置。

2、代码检查工具与服务

代码检查的产品,客户端、SCM(icode)、CI(Agile)之间具有交互性,共同构成整个代码检查环节。

3、代码检查覆盖范围

在覆盖语言方面,代码检查目前已经覆盖了包括C++,Java/android, PHP, Python, Go, JS, OC, Kotlin在内的几乎所有主流语言。

在检查维度方面,代码检查包括编码规范 代码缺陷,开源框架引用安全检查,可维护性(MI)。

4、代码检查速度

编码规范:只扫描变更文件,检查代码变更行是否符合规范,速度较快。

缺陷检查:需考虑文件依赖、函数调用关系、代码上下文等,相对耗时。

三、代码检查规则分级

规则等级梳理

Code Review阶段,所有维度扫描出的问题可以分为以下3个等级:

(1)Error:属于需要强制解决的类型,影响代码合入,应视具体情况不同采取修复、临时豁免、标记误报等措施及时处理;

(2)Warning:非强制解决类型,不影响代码含入,很可能存在风险,应尽量修复;

(3)Advice:非强制解决类型,级别相对较低,不影响代码含入,可以选择性修复。

——END——

点击进入了解更多技术信息~~

代码检查规则背景及总体介绍相关推荐

  1. 代码检查规则:Python语言案例详解

    在之前的文章中代码检查规则:Java语言案例详解学习了Java的检查规则.我们今天将学习<代码检查规则:Python语言案例详解>,内容主要分为两个部分:Python的代码检查规则和Pyt ...

  2. 代码检查规则:Java语言案例详解

    本节课程为<代码检查规则:Java语言案例详解>, 通常情况下Java的代码检查规则可以分为以下十类: 接下来,让我们具体来看看每个分类的内容. 一.源文件规范 该类规范主要从文件名.文件 ...

  3. 二、为uniapp项目配置基于airbnb风格的Eslint代码检查规则

    上一节我们一起创建了基于Vue3 + TS + Vite的uniapp项目并配置了自动导入,接下来让我们一起来为项目配置基于基于airbnb规范的Eslint代码检查规则. 1.为什么要为项目配置Es ...

  4. 半实物仿真测试平台技术背景及总体介绍

    技术背景 当前科技的发展成果日新月异,信息时代已经成熟,信息与装备深度融合的智能物联时代也初现曙光,广泛嵌入于各种设备中的智能化嵌入式软件必将大显身手,成为未来产业的爆发点和企业产品价值的增长点.软件 ...

  5. 半实物仿真测试平台集成开发环境技术背景及总体介绍

    技术背景 当前科技的发展成果日新月异,信息时代已经成熟,信息与装备深度融合的智能物联时代也初现曙光,广泛嵌入于各种设备中的智能化嵌入式软件必将大显身手,成为未来产业的爆发点和企业产品价值的增长点.软件 ...

  6. 半实物仿真测试系统研制背景及总体介绍

    技术背景 当前科技的发展成果日新月异,信息时代已经成熟,信息与装备深度融合的智能物联时代也初现曙光,广泛嵌入于各种设备中的智能化嵌入式软件必将大显身手,成为未来产业的爆发点和企业产品价值的增长点.软件 ...

  7. Kotlin代码检查在美团的探索与实践

    背景 Kotlin有着诸多的特性,比如空指针安全.方法扩展.支持函数式编程.丰富的语法糖等.这些特性使得Kotlin的代码比Java简洁优雅许多,提高了代码的可读性和可维护性,节省了开发时间,提高了开 ...

  8. 华为软开云5--玩转代码检查

    5.玩转代码检查 提供示例和修复建议,精准定位代码缺陷 1.如何新建代码检查任务以及代码检查支持的语言类型 2.代码检查的多维度报表和代码问题的处理 3.问题管理.圈复杂度.代码重复率以及任务配置功能 ...

  9. SonarQube4.4+Jenkins进行代码检查实例之二

    在 <SonarQube4.4+Jenkins进行代码检查实例之一> 中介绍了不编译只检查的方式. 但是有些代码检查需要使用字节码,比如Findbugs的检查依赖于字节码,实例一中只提取源 ...

最新文章

  1. java取消_java – 取消之前的请求
  2. ssl1127-方程的解数【HASH,dfs】
  3. c++面向对象高级编程 总目录
  4. 如何打造高质量的SSP广告引擎(内部干货分享)
  5. 过滤特征_万字长文讲解如何做特征工程
  6. Java 使用 Dom4j 解析 XML 指南
  7. HTML5 实现摄像头实时监控
  8. 最好用的服务器定时自动关机或重启软件
  9. 第十二章UML与Rational Rose 软件
  10. 玻尔原子模型中各轨道半径、轨道能量公式推导
  11. Linux LED子系统调试与应用 设备树官方文档与 gpio-leds.c 源码详解
  12. Git 配置别名 —— 让命令变得更简单
  13. 高分一号数据处理(一):数据下载
  14. 关东升给的ios学习路线图(可以借鉴)
  15. 模仿天猫实战【SSM版】——后台开发
  16. Windows Terminal安装指南
  17. VS2022无法打开Silverlight 项目的问题:改用VS2015
  18. echarts 地图九状线显示钓鱼岛系列 (3) 之 vue项目
  19. Viso的对象文件插入word,导致画布有大量空白,如何解决
  20. Git——功能分支工作流

热门文章

  1. MFC中如何让一个CStatic控件响应消息
  2. Colaboratory下载Kaggle数据
  3. 直方图和直条图_绘图专题 | 条形图/直方图傻傻分不清楚
  4. 推荐 14 个 GitHub 上优质的原创前端博客文章仓库
  5. 致命问题多数据源引发SpringBatch多事物
  6. vscode配置浏览器
  7. docker-compose 1.29.2 下载地址
  8. 【网址收藏】win10环境下安装Docker、Windows安装docker
  9. golang安装:GOPATH环境变量无需配置说明(>1.13)
  10. scala简明教程:偏函数、高阶函数、Future异步编程、隐式转换