概要
本文主要介绍Axivion静态检测工具对于QT项目的适配性及优缺点。
工具适配项目
Axivion是用于编译、链接和分析源代码的工具。提供了编译器和链接器 作为目标编译器和链接器的直接替代。
缺点:针对于一个项目仅一个工程,配置起来比较方便,但对于一个项目具备多个工程的时候,每个工程都需要去配置一遍。
优点:仅需要搭建一遍,工程适配性强。
eg:D760 7吋SOC项目中有7个工程项目,需要每个工程逐一配置。
具体配置流程可参照:https://blog.csdn.net/qq_41822386/article/details/134870197
代码分析
在进行环境配置后,进行代码分析,分析的结果直接影响代码质量。
主要包括以下几个功能
- Architecture(架构分析):评估代码的结构和模块化程度,识别出可能存在的设计问题和依赖关系。
- CloneDetection(克隆检测):检测源代码中的重复代码,减少代码冗余。
- CycleDetection(循环依赖检测):检测源代码中的循环依赖减少代码耦合。
- DeadCodeDetection(死代码检测):检测源代码中的死代码,清理无用的代码。
- Metrics(度量):评估代码的质量和复杂度。
- Stylechecks(风格检查):根据预定义的编码规范或自定义规则。
D760_7吋代码分析结果:
由于SOC需配置的工程项目太多,仅DataCenter工程进行配置。根据自己设定的编译规则编译后,会生成Web仪表盘,将总体的数据以趋势图和列表的形式呈现。
点击链接问题后,会进行信息的问题剖析,且具有详细问题描述。
在QT编译环境中,根据编码规范或自定义规则,能控制代码的分析深度与等级。
项目集成度
1.编译工具连集成,涵盖主流的编译工具链,范围广。
2.在现有的集成工具中,可与Jenkins集成,将代码中的违规行为通过面板展现出来。还有其他主流编译器Azure DevOps等等。
总结
主要从以下几个方面阐述Axivion的使用结论
Axivion配置与使用情况
- 在软件配置中,需要软件人员熟悉编译工具链的编译规则,进而需要软件人员针对不同的项目进行编译环境的搭建,部署步骤比较复杂。但是只要部署后,再无需更改。
- 代码分析复杂度越高,分析速度越长,平均分析时间较长。
- 代码分析结果展现形式比较直观,界面清晰,通过点击链接定位到问题所在。
QT自带检测工具与Axivion静态检测工具对比
- QT自带的检测工具仅限于分析代码的语法规则、逻辑写法规范,而Axivion静态检测工具功能更强大,包括框架分析、克隆代码检测等等。
- QT自带的检测工具无法生成报告等数据信息,现需要配合QT编译器使用,而Axivion具有更好的扩展和集成性。
项目平台集成Axivion检测工具的可实施性
该检测工具的集成度和扩展性较高,可与现有的JIRA、Jenkins等工具集成使用,且支持其他平台的集成。