检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
配置代码检查任务自定义环境 当使用代码检查服务时,若常用的编译构建环境缺少您需要的依赖包、工具,无法满足您的使用需求时,您可通过自定义构建环境提供的基础镜像执行代码检查任务。 前提条件 已将自定义环境推送到镜像仓中,具体操作请参见制作镜像并推送到SWR仓库。 配置自定义镜像 基于项目入口访问CodeArts
一站式问题闭环修复,问题修复效率倍增 开发团队实施代码检查活动时通常遇到问题分析和修复成本高(工具问题不易理解、问题分到具体开发人员费时费力、多版本情况下重复处理同一告警令开发人员厌倦工具)导致落地困难,这些原因很大程度影响了开发人员对检查工具的使用积极性。 代码检查服务提供问题分析处理三大能力,帮助开发团队高效、顺畅使用代码检查:
表2 自定义规则参数说明 参数 说明 规则名称 创建的规则名称,可自定义。例如:检查调试代码。 工具规则名称 默认填充为规则源码文件名,不可手动修改。 检查工具 该检查规则使用的检查工具,当前仅支持SecBrella。 语言 该规则检查的编译语言,当前仅支持Java。 规则源码 该
Shell/KOTLIN/SCALA/ArkTS等10+常见开发语言,满足嵌入式、WEB应用、移动应用等多种开发场景所需。 内置多款的开源工具与自研引擎一起提供丰富的检查规则(9000+)。 梳理各类场景需要,内置全面检查规则集、关键检查规则集、移动领域规则集、华为编程规范规则集
软件开发生命周期(Software Development Life Cycle)。 问题展示 准确定位到问题所在代码行,用户可以在线查看并分析代码问题。 延迟上线 在工具版本升级后,由于代码检查服务检查引擎的能力提升,可能会出现新的缺陷。但新检查出来的缺陷,不会计算到正式缺陷中,开发者拥有
创建的规则名称,可自定义。 支持中英文,数字,点,下划线“_”和连接符“-” 字符长度范围为1~128 是 工具规则名称 默认填充为规则源码文件名,不可手动修改。 是 检查工具 该检查规则使用的检查工具,当前仅支持SecBrella。 是 语言 该规则检查的编译语言,当前仅支持Java。 是 规则源码
C#语言规则集不可与其它语言规则集进行混合检查。 表1 预置规则集 语言 系统规则集类型 默认规则集 支持扫描文件后缀 扩展参数支持的编译工具版本 检查引擎 C++ 华为C编程规则集 华为C增强编程规则集 华为C++增强编程规则集 华为C++编程规则集 CodeArts Check
静态分析所需要覆盖的场景也日益增多,存在的问题如下: 传统静态分析引擎靠工具提供通用规则来对常见安全,风格和质量场景下的编码问题进行扫描分析,难以实时覆盖不同用户特定场景下的代码问题。 用户往往不熟悉工具提供的通用规则所能覆盖的全部场景。在为新开发的业务场景寻找适用的规则时需要耗费大量的时间,增加开发成本。
Check窗口,选择“Defects”页签,在检查结果区域左侧工具栏,单击(分类),选择“按文件分类进行查看”。 按严重级别后告警类型查看:打开CodeArts Check窗口,选择“Defects”页签,在检查结果区域左侧工具栏,单击,根据需要选择显示问题的类别。 根据告警指导修改后,插件将实时自动检查,自动更新告警信息
应用:在交付过程中实时根据代码复杂度、重复率、质量得分控制风险。 场景特点:项目经理的共识“从前端保证质量,把质量做在日常交付”,但经常没有有效的工具平台,目前大部分的质量工作还是依赖后端测试。 适用场景:项目经理迭代交付质量控制。
代码检查服务入门实践 表1 代码检查服务常用最佳实践 实践 描述 使用系统预置规则检查通用Git代码仓中的代码质量 以通用Git代码源为例,介绍如何创建通用Git代码检查任务。
历史趋势:默认展示近一个月内该代码检查任务的检查结果变化趋势,包括问题数、圈复杂度和重复率。 查看代码问题 可查看代码问题详情有两种查看方式:导出至本地和在线查看。 导出至本地。 方式一: 返回至代码检查任务列表页,勾选代码检查任务名称前的复选框,可选择的任务数为1~20。 选择“更多操作 > 导出任务告警”。
规则配置参数阈值相关信息 表6 RuleConfig 参数 参数类型 描述 id Integer 规则配置ID rule_id String 工具规则ID,即可配置阈值规则的各种阈值对应的ID,当前无便利手段获取,请联系客服咨询 default_value String 默认值 option_value
是 String 设置媒体类型和编码格式 表3 请求Body参数 参数 是否必选 参数类型 描述 check_id 是 Integer 检查工具ID,参数已废弃 ruleset_id 是 String 规则集ID,可以通过查询任务的已选规则集列表接口获取 language 是 String
kTask01”。 单击任务名称,查看代码检查详情,包括概览、代码问题、代码度量、检查日志等。 至此,我们完成了一次基本的通用Git代码源常用检查流程。
total Integer 总数 表5 TaskCheckParamters 参数 参数类型 描述 check_id Integer 检查工具ID name String 编译参数名称 checker_configs Array of CheckConfigInfo objects
Request succeeded! 表5 TaskCheckParamters 参数 参数类型 描述 check_id Integer 检查工具ID name String 编译参数名称 checker_configs Array of CheckConfigInfo objects
规则阈值详细 表5 RuleConfig 参数 是否必选 参数类型 描述 id 否 Integer 规则配置ID rule_id 否 String 工具规则ID,即可配置阈值规则的各种阈值对应的ID,当前无便利手段获取,请联系客服咨询 default_value 否 String 默认值 option_value