华为云 CodeArts Check:带你掌握代码检查技巧,优化代码质量!
HDC 期间可参与华为开发者大会 Check 新人抽奖活动,活动链接在文末。福利多多,快来参与!
本文作为华为云 CodeArts Check 代码检查服务的开箱操作指导文档,会分为如下五个维度进行介绍:产品介绍、前期准备、开通 CodeArts 软件开发生产线、Check 代码检查任务新建、五大场景使用指导。
欢迎各位感兴趣的小伙伴体验试用:[>>>>>CodeArts Check代码检查服务链接<<<<<];
注:首次体验 CodeArts 软件开发生产线服务的小伙伴,请先根据文章内“注册 CodeArts 软件开发生产线”一节内容,开通好服务后体验使用哦。
产品介绍
质量是产品的生命线,软件开发事前预防的成本远低于事后补救。如果程序员在代码编写阶段能够及时修正软件缺陷和安全隐患,避免缺陷流向后端,就可以有效提升产品质量。
基于华为在自动化源代码静态检查方面的技术积累与企业级应用经验,华为云 CodeArts Check 代码检查服务,推出六大特性,为用户提供代码风格、通用质量与代码安全风险等检查能力,并提供问题闭环处理、检查报告等功能,可一站式完成代码检查作业,将代码质量保证活动从原始的人工检视中解脱出来,帮助用户高效守护软件质量和安全,助力客户商业成功。
目前,华为云 CodeArts Check 不仅支撑了华为 15 万研发人员、日均扫描逾 500 亿行的代码检查工作,也广泛应用于能源、物流等企业,新闻媒体及广大开发者,支持企业统一规范开发标准,规范研发过程,将质量活动和安全检查前移到代码开发阶段,为企业生产高质量且安全的软件保驾护航。
前期准备需要注册好华为云账号并完成实名认证。
2.1 注册账号打开[>>>>>华为云官网<<<<<]单击页面右上角“注册”按钮,根据提示信息完成注册步骤查看授权信息,确认无误后,单击“授权并登录”勾选服务条款, 单击“开通”:系统提示开通成功。具体的注册步骤可以查看这里[>>>>>注册华为帐号并开通华为云<<<<<].

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

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

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

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

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


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

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

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

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

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

首次进入服务内的小伙伴会发现还没有新建任何任务,不用急,我们这次体验会采用现有 demo 项目来扫描。导入现有 demo 项目的方式有 3 种,我们首先需要先到代码托管服务界面。
方式一
单击“普通新建”旁的下扩按钮,在扩展框中选择“按模板新建”,进入“按模板新建”页面:

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


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

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

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

到这里,我们第一个代码检查任务就算成功建立了。
方式二
单击“普通新建”旁的下扩按钮,在扩展框中选择“导入外部仓库”,进入“导入外部仓库”页面:

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

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

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

方式三如果小伙伴们有现有的 github,码云或则别的 git 形式的代码仓,也可以试试扫描自己的三方代码仓内项目。只需要在新建任务页面里,选择相应的源码源,然后建立新的 Endpoint 实例。具体如何和三方仓建立联系,可以参考“新建服务扩展点”。
p.s. 如果有发生在仓库导入完成之后任务列表里没看到新任务的情况,我们只需要点击新建任务,在相应的代码仓操作里选择“新建任务”即可:

现在,代码仓已经导入,代码任务也已经建立,接下来就是扫描检查了。
五大场景使用指导
五大场景分为:全量检查、流水线检查、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。
CloudIDE:华为云CodeCheck代码检查插件(CloudIDE版本)使用指南
VSCodeIDE:华为云 CodeCheck 代码检查插件(VSCode IDE 版本)使用指南
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
评论