
# 什么是代码检查
代码检查（CodeArts Check）是基于云端实现的代码检查服务。建立在多年自动化源代码静态检查技术积累与企业级应用经验的沉淀之上，为用户提供代码风格、通用质量与网络安全等方面的检查能力，专业的扫描报告、便捷的问题闭环处理流程，帮助企业有效管控代码质量，助力企业成功。
产品形态包括：云服务和IDE插件。同时，还提供具有深度检查能力的代码检查安全增强包。
#### 云服务代码检查功能列表
表1云服务代码检查功能列表 
| 功能        | 描述                                                                                                            |
|:---|:---|
| 编码问题检查    | 用编码问题检查规则集，对自己的代码进行编码问题缺陷检查。                                                                                  |
| 代码安全检查    | 用代码安全检查规则集，对自己的代码进行代码安全风险和缺陷检查。                                                                               |
| 代码风格检查    | 用代码风格检查规则集，检查自己的代码是否匹配选定风格。                                                                                   |
| 代码健康度评分   | 一个综合性统一指标，与告警影响度、告警数量、代码量都有关系。自动计算代码健康度分数。                                                                    |
| 问题管理      | 通过问题管理中的问题描述、问题状态、检查规则、文件路径、源码以及修改建议等，对检查出来的问题进行处理。                                                           |
| 代码圈复杂度    | 通过代码圈复杂度报表评估代码质量风险。                                                                                           |
| NBNC代码行   | 代码检查支持扫描的文件代码行，不包括空行和注释行。                                                                                     |
| 代码重复率     | 通过代码重复率报表评估代码质量风险。                                                                                            |
| 定时执行检查    | 提供每周、每日定时检查代码功能，让用户休息编译两不误。                                                                                   |
| 检查结果通知    | 检查完成后，通过邮件通知和消息通知相关人员检查结果，便于进行及时处理。                                                                           |
| 多种语言的代码检查 | 包括Java/C++/JavaScript/Go/Python/C#/TypeScript/CSS/HTML/PHP/LUA/RUST/Shell/KOTLIN/SCALA/ArkTS/SQL/仓颉(Cangjie)。 |
   
#### CodeArts Check IDE插件介绍
CodeArts Check IDE插件致力于守护开发人员代码质量，成为开发人员的助手和利器。
- 本IDE插件秉承极简、极速、即时看护的理念，提供业界规范（含华为云）检查、代码风格一键格式化及代码自动修复功能。
- 打造了代码检查"快车道"，实现精准、快速检查前移，与Check云端服务共同构筑了三层代码防护体系。
- 内置的轻量级扫描规则作为云端规则的子集，可以在云端查看到所有IDE端规则，实现安全扫描左移，并且覆盖了30多种缺陷分类。
- 当前CodeArts Check IDE插件支持Java、C、C++、Python，并已上线4个主流IDE平台：VSCode IDE、Intellij IDEA、CodeArts IDE、Cloud IDE。
 
**IDE使用指南**
- VSCode IDE版本：请参见[华为云CodeArts Check代码检查插件（VSCode IDE版本）使用指南](https://bbs.huaweicloud.com/blogs/381498)。
- Intellij IDEA版本：请参见[华为云CodeArts Check代码检查插件（IntelliJ IDEA版本）使用指南](https://bbs.huaweicloud.com/blogs/390135)。
- CodeArts IDE版本：请参见[华为云CodeArts Check代码检查插件（CodeArts IDE本地版本）使用指南](https://bbs.huaweicloud.com/blogs/396470)。
- Cloud IDE版本：请参见[华为云CodeArts Check代码检查插件（Cloud IDE版本）使用指南](https://bbs.huaweicloud.com/blogs/320842)。
#### 代码安全检查增强包介绍
华为代码安全检查增强包里安全检查能力作为深度价值特性，能深度识别代码中安全风险和漏洞，提供了套餐包内规则不覆盖的安全类场景，比如数值错误、加密问题、数据验证问题等。针对业界的安全漏洞检测项提供了更深入的分析能力，比如，跨函数、跨文件、污点分析、语义分析等。
当前代码安全检查增强包一共有284条规则，涵盖Java语言61个, C++ 语言199个, Go语言8个, Python语言16个。
代码安全检查增强包里安全检查能力支持的检查项如下：
- 覆盖符合污点分析传播模型的漏洞检查，如命令注入、SQL注入、路径遍历、信息泄露等。
- 覆盖业界常见的安全漏洞检测项，如命令注入、LDAP注入、SQL注入、开放重定向漏洞、数值处理、信息泄露等。
- 支持密码、API密钥和访问令牌硬编码检查能力。
- 支持AccessKey泄露检查。
如果某租户购买了1个增强包，该租户账号及其所有IAM账号均可使用所有增强包相关的规则。
代码安全检查增强包对于扫描次数和扫描的代码行数没有任何限制，仅对代码检查任务并发数有限制，即，买1个增强包代表该租户账号可以扫描1个安全增强特性包规则的代码检查任务，其余任务需要排队等待；买2个增强包表示可同时扫描2个代码检查任务 ......买n个增强包表示可同时扫描n个代码检查任务。当前最多可以买100个。购买方法可参考[购买增值特性](https://support.huaweicloud.com/usermanual-devcloud/devcloud_01_0002.html#section3)。
增强包不可单独购买，需要在[购买了专业版或企业版CodeArts](https://support.huaweicloud.com/usermanual-devcloud/devcloud_01_0002.html#section1)之后才会生效，如果购买的CodeArts套餐过期，代码检查特性增强包会失效。
