华为云CodeArts Check:带你掌握代码检查技巧,优化代码质量!

news2025/1/8 5:40:11

HDC期间可参与华为开发者大会Check新人抽奖活动,活动链接在文末。福利多多,快来参与!


本文作为华为云CodeArts Check代码检查服务的开箱操作指导文档,会分为如下五个维度进行介绍:产品介绍、前期准备、开通CodeArts软件开发生产线、Check代码检查任务新建、五大场景使用指导。

欢迎各位感兴趣的小伙伴体验试用:[>>>>>CodeArts Check代码检查服务链接<<<<<];大家也可以扫描二维码了解详情:
注:首次体验CodeArts软件开发生产线服务的小伙伴,请先根据文章内“注册CodeArts软件开发生产线”一节内容,开通好服务后体验使用哦。

1. 产品介绍

质量是产品的生命线,软件开发事前预防的成本远低于事后补救。如果程序员在代码编写阶段能够及时修正软件缺陷和安全隐患,避免缺陷流向后端,就可以有效提升产品质量。

基于华为在自动化源代码静态检查方面的技术积累与企业级应用经验,华为云CodeArts Check代码检查服务,推出六大特性,为用户提供代码风格、通用质量与代码安全风险等检查能力,并提供问题闭环处理、检查报告等功能,可一站式完成代码检查作业,将代码质量保证活动从原始的人工检视中解脱出来,帮助用户高效守护软件质量和安全,助力客户商业成功。

目前,华为云CodeArts Check不仅支撑了华为15万研发人员、日均扫描逾500亿行的代码检查工作,也广泛应用于能源、物流等企业,新闻媒体及广大开发者,支持企业统一规范开发标准,规范研发过程,将质量活动和安全检查前移到代码开发阶段,为企业生产高质量且安全的软件保驾护航。

2. 前期准备

需要注册好华为云账号并完成实名认证。

2.1 注册账号

  1. 打开[>>>>>华为云官网<<<<<]
  2. 单击页面右上角“注册”按钮,根据提示信息完成注册步骤
  3. 查看授权信息,确认无误后,单击“授权并登录”
  4. 勾选服务条款, 单击“开通”:系统提示开通成功。

具体的注册步骤可以查看这里[>>>>>注册华为帐号并开通华为云<<<<<].

2.2 实名认证

具体实名认证介绍与步骤可以查看这里:[实名认证介绍].

3. 开通CodeArts软件开发生产线

小伙伴们在登录华为云账号之后,点击[>>>>>CodeArts软件开发生产线服务链接<<<<<]进入服务首页:

点击“免费试用”按钮,进入服务页面里;因为是新用户/在该区域未开通服务,所以需要我们选择相对应的版本,开通/购买后体验使用:

作为个人开发者体验试用,我们只需要选择基础版下面的“免费开通”即可:

在购买页面,选择“我已经阅读并同意 《CodeArts服务使用声明》”,点击下一步之后,在下个界面点击“去支付”;

支付成功会跳出“支付成功”弹窗,点击“确认付款”:

点击“返回软件开发平台控制台”按钮,CodeArts软件开发生产线服务就算开通成功了:

4. Check代码检查任务新建

开通好CodeArts软件开发生产线服务后,会自动跳到“总览”界面;选择侧边栏的“代码检查”,之后点击右上角的“立即使用”按钮就可以进入代码检查页面了:

或则可以点击[>>>>>CodeArts Check代码检查服务链接<<<<<]进入我们CodeArts Check代码检查服务的介绍首页:

点击“立即使用”按钮,进入服务内部:

首次进入服务内的小伙伴会发现还没有新建任何任务,不用急,我们这次体验会采用现有demo项目来扫描。导入现有demo项目的方式有3种,我们首先需要先到代码托管服务界面。

方式一

单击“普通新建”旁的下扩按钮,在扩展框中选择“按模板新建”,进入“按模板新建”页面:

在新页面,填入项目名称信息(可选是否填入项目描述信息),点击确定;选择任意模板,点击下一步:

在下一步页面里,填写代码仓库名称,点击确定:

接着到代码检查服务界面,点击“新建任务”按钮:

在新建任务页面,选择刚建代码仓的新建任务按钮:

到这里,我们第一个代码检查任务就算成功建立了。

方式二

单击“普通新建”旁的下扩按钮,在扩展框中选择“导入外部仓库”,进入“导入外部仓库”页面:

填写一个开源项目的源仓库路径,比如https://gitee.com/openharmony-sig/knowledge_demo_smart_home.git,填写源仓库访问的用户名和密码(我们这次采用开源仓库,因此不需要填写),点击“我已阅读并同意 《隐私政策声明》 和 《软件开发服务使用声明》”,点击下一步即可:

在下一步界面里,可以更新代码仓库名称,添加描述,权限设置中选项都保持默认(默认选项中会帮助我们自动创建好代码检查任务),是否公开里选择“公开只读”,同步仓库设置里选择“全部分支”;点击确定按钮(接着跳转到仓库列表页):

等待仓库导入完成之后,我们就可以回到代码检查任务列表页面里可以看到新任务已经建立好了:

方式三

如果小伙伴们有现有的github,码云或则别的git形式的代码仓,也可以试试扫描自己的三方代码仓内项目。只需要在新建任务页面里,选择相应的源码源,然后建立新的Endpoint实例。具体如何和三方仓建立联系,可以参考“新建服务扩展点”。

p.s. 如果有发生在仓库导入完成之后任务列表里没看到新任务的情况,我们只需要点击新建任务,在相应的代码仓操作里选择“新建任务”即可:

现在,代码仓已经导入,代码任务也已经建立,接下来就是扫描检查了。

5. 五大场景使用指导

五大场景分为:全量检查、流水线检查、IDE检查、告警分析处理、规则处理。

5.1 全量检查【推荐】

全面、深度检查,与代码仓协同支持代码提交时自动检查。

代码检查的基本使用流程如下图所示:

最简单的方式,我们可以直接点击“立即执行”按钮或则“开始检查”按钮,开始执行扫描任务:

直接开始检查的话,代码检查服务会启用默认的Java、C++、PHP、C#、JS、TypeScript、HTML、CSS、Go和Python语言的规则集;而我们可以根据实际需要新增、复制、修改或删除自定义规则集。同时,我们也可以对已有的检查任务进行修改或任务设置:

在我们检查完成任务后,可以查看任务详情,修改代码问题。每次在修复部分问题后,我们可以继续点击“开始检查”按钮查询问题是否成功修复:

5.2 流水线检查

与流水线协同支持软件全量代码检查,“慢车道”全面检查夜间进行,防止代码检查遗漏。

进入工作流配置页面,在构建阶段添加已创建的代码检查任务;单击质量门禁下的,添加质量门禁任务,填写任务名称,然后单击“点击创建”;弹出“新建门禁”对话框,填写门禁名称(如:test01),并将代码检查任务对应的门禁项“CodeCheck问题数”开关打开,确定并选择已创建的门禁:

具体可以参考这篇指南:《快速上手流水线》。

注:如果我们想开启持续集成能力(即代码提交时可以自动执行代码检查任务),我们可以在“设置-集成与服务”中,选择“CodeHub-勾选MR检查状态框-保存”及“持续集成-勾选代码提交时执行-保存”:

5.3 IDE检查

“快车道”精准、快速检查前移,频繁检查,对开发人员干扰最小。

目前已支持3款IDE:CloudIDE、VSCodeIDE、IntelliJ IDEA。

  1. CloudIDE:华为云CodeCheck代码检查插件(CloudIDE版本)使用指南
  2. VSCodeIDE:华为云CodeCheck代码检查插件(VSCode IDE版本)使用指南
  3. IntelliJ IDEA:华为云CodeCheck代码检查插件(IntelliJ IDEA版本)使用指南

5.4 告警分析处理

得益于修复指导、自动修复、结果自动继承这三大能力,华为云CodeArts Check能够让检查问题处理和修复的效率提升100%。

点击代码检查的任务名字,进入代码检查详情:

首先映入眼帘的是上次扫描的概览,我们可以看到总问题数、未解决新问题数、已解决问题数、代码平均圈复杂度、代码重复率、NBNC代码行、问题数最多Top10检查规则、待处理问题严重程度、问题指派分配、历史趋势等信息。

点击“代码问题”tab,查看具体的代码问题;针对某个具体的问题,我们还可以点击里面的“问题帮助”按钮,查看问题描述,错误示例,修复建议等信息:

还可以点击“代码度量”tab,查看各文件的度量情况(比如圈复杂度,重复率):

5.5 规则处理

支持主流开发语言,内置7000+检查规则,便于用户开箱即用。

内置多款开源工具与自研引擎,可提供超过7000条丰富的检查规则;并梳理各类场景需要,内置全面检查规则集、关键检查规则集、移动领域规则集、华为编程规范规则集等10余个规则集,便于用户开箱即用;企业用户也可基于规则库,定制满足业务场景个性需求的检查规则集。

在代码检查任务界面,我们可以点击规则集tab,查看所有规则集、当前正在使用中的规则集信息:

还可以点击规则tab,查看所有语言的规则信息,并配置了丰富的过滤器:

试用产品

欢迎各位感兴趣的小伙伴体验试用:[>>>>>CodeArts Check代码检查服务链接<<<<<];大家也可以扫描二维码了解详情:
注:首次体验CodeArts软件开发生产线服务的小伙伴,请先根据文章内“注册CodeArts软件开发生产线”一节内容,开通好服务后体验使用哦。


抽奖活动链接:https://bbs.huaweicloud.com/forum/thread-0245123473255323005-1-1.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/717455.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ModaHub魔搭社区:向量数据库Milvus Lite 的优势和安装教程

想要体验开源向量数据库MIlvus&#xff0c;缺少专业的工程师团队作为支撑&#xff1f;Milvus 安装环境受限&#xff1f; 别担心&#xff0c;轻量版 Milvus 来啦&#xff01; 有用户反馈刚开始接触 Milvus 或者想要在 Notebook 中进行快速实验时&#xff0c;安装或部署 Milvus …

泛娱乐出海赛道火热,茄子科技如何赋能企业出海破局?

全球疫情的反复影响了用户的生活、工作习惯&#xff0c;更多泛娱乐的用户习惯向“线上化”迁移。当前&#xff0c;随着技术的迭代和行业走向成熟&#xff0c;泛娱乐出海在产品、技术和市场方面也出现了全新的发展趋势。然而&#xff0c;泛娱乐出海者们想要在海外市场去开疆拓域…

【项目部署】NGINX原生部署前端

如有拼错的单词感谢提醒~ 一.准备工作 为了方便文件的管理&#xff0c;我们先在服务器上创建一个专门存放项目的目录。 # 1.查看当前所在目录 pwd # 1.1 可以切换到根目录管理 cd /root # 2.创建一个专门存放项目的文件夹 mkdir services # 3.可以查看我们创建的文件夹 ls # …

【按位建线段树】CF242 E

Problem - 242E - Codeforces 题意&#xff1a; 思路&#xff1a; 因为涉及到位运算操作&#xff0c;所以要在01矩阵内进行维护 每行都代表一个数&#xff0c;因此区间操作就是在两行之间的01矩阵操作 我们可以造20棵线段树&#xff0c;其中每一列01序列都对应着一棵线段树…

【Squid二】使用squid和nginx服务搭建反向缓存代理服务

使用squid和nginx服务搭建反向缓存代理服务 1.反向代理1.1 反向代理概述1.2 反向代理工作机制 2.搭建squid反向代理服务2.1 Nginx服务器端配置2.2 squid反向代理服务器配置 3.搭建nginx反向缓存代理服务3.1 nginx反向缓存代理服务配置3.2 nginx服务端配置3.3 客户端验证访问 参…

(万字文)快速入门uniapp——从环境搭建到项目实践

&#x1f642;博主&#xff1a;小猫娃来啦 &#x1f642;文章核心&#xff1a;快速入门uniapp——从环境搭建到项目实践 文章目录 初步介绍UniApp开发环境搭建下载和安装UniApp开发工具&#xff1a;创建新项目&#xff08;HBuilderX&#xff09;开发工具界面介绍 UniApp基础知识…

数据战略的理解与实施指南

虽然大多数公司都认识到他们的数据是一项战略资产&#xff0c;但许多公司并没有充分利用它来取得进展。在本文中&#xff0c;我们讨论了成功数据战略的关键要素&#xff0c;这些要素将帮助您基于数据分析而不是直觉做出明智的决策。 尽管公司在数据和分析计划方面的投资比以往任…

2021 RoboCom 世界机器人开发者大赛-高职组(初赛)

编程题得分&#xff1a;100 总分&#xff1a;100 目录 7-1 机器人打招呼 (5分) 输入格式&#xff1a; 输出格式&#xff1a; 输入样例&#xff1a; 输出样例&#xff1a; 7-2 人脸识别 (10分) 输入格式&#xff1a; 输出格式&#xff1a; 输入样例 1&#xff1a; 输…

SAP VC 可配置物料超级BOM简介

`1、可配置物料(Configurable Material)是SAP系统中PP模块一个比较高级的功能。在有些业务中比如:汽车、笔记本、电脑、电梯等产品中,其中组成产品的型号个框架是确认的 ,但是框架内部的BOM是可变的,在客户下销售订单的时候,选取对应的组件 ,让后通过MRP的计算优生产线…

【机器学习】支持向量机(下)

支持向量机&#xff08;下&#xff09; 目录 八、支持向量机的求解实例九、核函数1、核函数的引入2、核函数的示例 十、软间隔1、何为软间隔2、引入软间隔后的目标方程 十一、正则化十二、关于支持向量机的分类十三、数据标准化的影响【机器学习】支持向量机&#xff08;上&…

网络协议与攻击模拟-15-DNS协议

DNS 协议 1、了解域名结构 2、 DNS 查询过程 3、在 Windows server 上部署 DNS 4、分析流量 实施 DNS 欺骗 再分析 一、 DNS 1、概念 ● DNS ( domain name system &#xff09;域名系统&#xff0c;作为将域名的 IP 地址的相互映射关系存放在一个分布式的数据库&#xff0…

【开源项目】智慧仓储~某东数字孪生智慧仓储——开源工程及源码

某东大型仓储工程及源码免费赠送&#xff0c;领先行业智能仓储解决方案&#xff01; 项目介绍 数字孪生技术为仓储管理带来革命性的突破。通过数字孪生的应用&#xff0c;实现智能化的仓储管理&#xff0c;提供准确、高效的仓库操作与分析。 利用数字孪生技术&#xff0c;将数据…

做银行测试,高端大气上档次?

前几天正好去某银行进行测试基础的培训&#xff0c;在和相关负责人聊了些内容后&#xff0c;想了想写一下自己的看法吧。 作为传统行业的银行&#xff0c;可以说对质量的重视程度应该在航天、轨道、军工、机械类似的关键性行业之间&#xff0c;和钱打交道的东西自然 很赚钱不…

AI Chat 设计模式:4. 建造者模式

本文是该系列的第四篇&#xff0c;采用问答式的方式展开&#xff0c;问题由我提出&#xff0c;答案由 Chat AI 作出&#xff0c;灰色背景的文字则主要是我的旁白与思考。 问题列表 Q.1 说说建造者模式A.1Q.2 “将一个复杂对象的构建过程和其表示分离”&#xff0c;这里不是很清…

2023年软考一般什么时候出成绩呢?在线蹬?

软考成绩一般在考试结束后的两个月内公布&#xff0c;而且每次查询时间并不是固定的&#xff0c;比如上半年5月软考考试成绩查询时间一般是7月初&#xff0c;下半年11月初软考成绩查询时间一般就在12月底左右&#xff08;如图所示&#xff09; 过了23年上半年的软考&#xff0c…

电动力学复习提纲

电动力学复习提纲 电动力学核心知识点 电磁场能量密度和能流 场和电荷的能量守恒电磁场的能量密度和能流密度 电偶极矩&#xff0c;磁偶极矩和电四极矩 电极化强度矢量与电偶极矩 磁化强度与磁偶极矩 电势的多级展开 磁矢势的多级展开 非相对论体系的电磁能 静电能 小区…

13万字智慧能源大数据分析平台及能源集团数字化平台建设方案

导读&#xff1a;原文《13万字智慧能源大数据分析平台及能源集团数字化平台建设方案》共335页word&#xff08;获取来源见文尾&#xff09;&#xff0c;本文精选其中精华及架构部分&#xff0c;逻辑清晰、内容完整&#xff0c;为快速形成售前方案提供参考。 目录 智慧能源大数…

干货:在校园里如何创业做外卖平台

干货&#xff1a;在校园里如何创业做外卖平台 外卖能够满足大学生消费者在足不出寝的情况下&#xff0c;方便省时的用餐需求&#xff0c;这也是外卖市场在大学快速发展的主要原因。有关数据显示&#xff0c;40.3%大学生群体月均点外卖次数在5-10次之间&#xff0c;37%40.3%大学…

Mybatis处理复杂查询环境

复杂查询环境 多对一和一对多 多个工作者对应一个协调人 对于工作者(worker)而言&#xff0c;多个工作者关联一个协调人(coordinator)&#xff08;多对一&#xff0c;关联&#xff09; 对于协调人而言&#xff0c;一个协调人有很多工作者&#xff08;一对多&#xff0c;集合&a…

SQL Server表分区

什么是表分区 一般情况下&#xff0c;我们建立数据库表时&#xff0c;表数据都存放在一个文件里。 但是如果是分区表的话&#xff0c;表数据就会按照你指定的规则分放到不同的文件里&#xff0c;把一个大的数据文件拆分为多个小文件&#xff0c;还可以把这些小文件放在不同的…