在软件开发过程中,代码规范检查通常会作为质量管理流程中的一个环节。QAC通过静态分析方式检查C/C++代码,根据配置好的编码规则发现潜在问题,并生成对应的检查结果。实际项目中,开发人员查看报告时,经常需要判断哪些问题属于代码缺陷,哪些属于规则配置或者分析环境造成的异常。如果规则检查结果和预期不一致,例如问题数量突然变化、规则没有触发、同一代码反复提示等情况,就需要结合规则设置、项目配置以及代码版本进行分析。
一、QAC怎么查看编码规则检查结果
QAC检查结果主要来源于项目分析任务。完成代码分析后,可以通过结果页面查看违规项、规则信息以及对应代码位置。
1、打开项目分析结果
完成一次代码检查后,需要先定位对应项目。
①、打开【QAC】。
②、进入【项目管理】。
③、选择目标分析项目。
④、打开【分析结果】。
⑤、查看已有检查记录。
⑥、进入对应结果页面。
如果同一个项目执行过多次分析,需要根据代码版本选择对应记录,避免查看错误结果。
2、筛选编码规则问题
进入分析页面后,可以按照规则类型查看当前发现的问题。
①、打开【问题列表】。
②、筛选违规项目。
③、查看问题等级。
④、选择目标规则。
⑤、进入问题详情。
检查列表适合快速定位异常数量较多的规则,也方便后续集中处理。
3、查看规则说明和违规原因
确定具体问题后,需要进一步了解规则判断依据。
①、打开【问题详情】。
②、查看规则编号。
③、阅读规则说明。
④、定位违规代码。
⑤、分析触发原因。
部分规则需要结合代码上下文判断,不能只根据提示信息直接修改代码。
4、定位对应源码位置
编码规则问题最终需要回到代码中确认。
①、进入【源代码查看】。
②、定位问题文件。
③、查看对应代码行。
④、检查上下文逻辑。
⑤、确认处理方式。
如果同一规则在多个位置出现,可以先分析典型问题,再统一调整代码。
5、导出检查结果
项目需要保存检查记录时,可以将结果生成报告。
①、打开【报告】。
②、选择【结果导出】。
③、设置报告内容。
④、生成检查文件。
⑤、保存分析报告。
导出的结果可以用于代码评审,也方便后续查看问题处理情况。
二、QAC规则检查结果异常如何处理
QAC规则结果异常时,需要先判断具体表现。不同情况的处理方式并不一样,例如规则没有产生结果、违规数量异常增加、检查结果和代码情况不匹配,都需要从不同方向排查。
1、规则没有检测到问题时检查配置
修改规则后,如果分析结果没有变化,需要确认规则是否参与当前检查。
①、打开【规则配置】。
②、查看规则启用状态。
③、确认项目关联规则。
④、检查规则适用范围。
⑤、重新执行分析。
如果规则没有加载到当前项目,新的检查任务仍然会使用原有配置。
2、问题数量变化异常时检查分析环境
当同一项目的检查结果变化较大,需要确认分析环境是否发生调整。
①、打开【项目设置】。
②、检查编译参数。
③、确认头文件路径。
④、查看分析环境。
⑤、重新运行检查。
编译环境变化后,QAC解析代码的方式可能发生变化。
3、误报较多时检查规则条件
部分违规项需要结合项目实际情况判断。
①、打开【问题详情】。
②、查看规则要求。
③、检查代码逻辑。
④、确认实际影响。
⑤、记录处理结果。
如果规则要求和项目开发规范存在差异,可以考虑调整规则配置。
4、结果和代码版本不一致时检查源码
分析对象变化也可能造成检查结果差异。
①、打开【项目记录】。
②、确认代码版本。
③、检查源码更新时间。
④、重新加载项目。
⑤、执行规则检查。
比较两次分析结果时,需要保证使用相同代码范围。
5、检查分析日志定位异常
当检查过程直接失败时,可以通过日志查看原因。
①、打开【分析日志】。
②、查看错误信息。
③、定位异常文件。
④、检查配置参数。
⑤、重新执行分析。
日志可以帮助判断问题发生在代码解析、规则执行还是结果生成阶段。
三、QAC检查结果调整后如何维护
QAC规则或者项目环境发生变化后,之前的检查结果不能直接代表当前状态,需要重新整理分析记录。实际项目中,规则调整、代码修改都会影响检查结果,保留变化过程可以方便后续查看问题来源。
1、整理已经发现的规则问题
①、打开【问题列表】。
②、查看当前违规项目。
③、筛选需要处理的问题。
④、记录对应代码位置。
⑤、更新问题处理状态。
2、重新检查代码修改情况
①、进入【分析任务】。
②、选择当前项目。
③、执行新的规则检查。
④、查看最新分析结果。
⑤、比较问题变化。
3、保存规则和环境信息
①、打开【规则配置】。
②、核对当前规则设置。
③、记录调整内容。
④、保存项目配置。
⑤、整理检查记录。
总结
QAC检查结果会受到规则设置、分析环境以及代码版本变化的影响,单次检查报告只能反映当前分析条件下的结果。遇到异常问题时,可以先查看规则配置和项目环境,再结合具体代码位置确认原因。完成问题处理后,保留检查记录和配置变化信息,能够方便后续复查项目状态。对于长期维护的代码项目,保持规则管理和分析记录的一致性,有助于减少重复排查工作。