快速入门

指定代码库分支进行扫描

首先需要将扫描的代码库进行关联。完成关联后,进入代码分析页面选择需扫描的代码库和分支。运行环境指代码运行所依赖的环境,如果不依赖特定的环境,则选择 CodeDog_Linux 即可,勾选希望开启的扫描功能后启动扫描。

执行扫描任务:

成功启动扫描后在扫描历史中将会增加一项扫描记录,可以查看扫描类型和扫描状态。

扫描类型分为两类:全量扫描和增量扫描。全量扫描是指扫描代码库最新版本的全部代码:扫描内容全,但扫描速度慢,适合配置变更后检查全部代码是否符合预期的情况。增量扫描的范围是上次成功扫描后版本和当前最新代码版本中的代码增量部分扫描。适合日常定时扫描,扫描速度快。扫描将根据项目状态,优先使用增量扫描。默认的首次扫描为全量扫描。

成功完成扫描后,可以通过结果入口查看扫描结果。

如果执行失败,可以通过状态中的错误提示和扫描详情中的信息辅助进行修正,常见的执行失败原因多是因为选择了编译类的工具但其中的编译命令填写有误,正确调整后即可重新执行。

制订扫描方案

扫描方案用于制订固定使用的扫描方式,一个扫描方案可以被多个分支复用以节省配置成本。
方案名称用于标示一个方案、扫描语言用于指定希望扫描的语言范围、如果项目没有特殊的编译需求则可以在运行环境中选择 Codedog_Linux。

代码检查

支持工具规则自选,提供官方规则包,也支持用户根据项目需要自选工具规则进行扫描。进入设置页面,选择代码检查项,查看编辑规则集。

规则集包含多个规则包,系统会根据项目情况给出推荐的官方规则包,可以选择屏蔽或修改规则包中的内容,支持严重级别,规则参数的调整。

对规则包的调整和自定义添加的规则集会显示在自定义规则包中。操作记录中将会记录对规则集的全部修改行为。如果想要屏蔽部分代码使其跳过扫描或者仅扫描特定代码目录可以在设置中的路径过滤中进行设置。

注意:每次调整规则集、设置后,需要进行一次全量扫描,才能对全部的代码生效。

代码度量

圈复杂度

默认圈复杂度超过 20 的函数会被报出,可以根据需要调整最小检测值。大于等于最小检测值的函数将被认为是超标函数。可以根据项目需要调整检测值的大小。

注意:每次调整圈复杂设置后,需要进行一次全量扫描,才能对全部的代码生效。
圈复杂度不支持增量扫描,每次扫描都会放回最新版本代码的全部重复代码问题。支持的语言包括:C、C++、Java、JavaScript、Objective-C、PHP、Python、C#、Ruby、Go、Lua、Swift

重复代码

重复代码的检测指标包括长度区间和重复次数。长度区间的单位是单词(变量或操作符),默认值为 120。即如有 120 个单词(变量或操作符)一致才会被认为重复。重复次数则是限定超过这个重复次数的代码部分问题才被报出,默认值为 2 次,支持自定义重复次数限制。

如果想要屏蔽部分代码使其跳过扫描或者仅扫描特定代码目录可以在设置中的路径过滤中进行设置。

⚠️ 每次调整设置后,需要进行一次全量扫描,才能对全部的代码生效。重复代码不支持增量扫描,每次扫描都会放回最新版本代码的全部重复代码问题。当前支持的语言包括:C、C++、Java、JavaScript、Objective-C、PHP、Python、C#、Ruby、Kotlin、Go、、Swift。

路径过滤

支持添加代码分析的黑白名单,设置后将会更高效地锁定需要关注的代码。

代码扫描完成后,立即查看分析结果

上一篇代码分析介绍
文档是否对您有用?
感谢反馈有用
感谢反馈没用