分析项目
分析项目 = 分支 + 分析方案 + 分析路径
增加分析路径,有效支持 monorepo 分析;
支持同一分支灵活选择分析方案组成分析项目。
分析概览
整体展示当前分析项目的质量情况,以及分析趋势数据等。
对数据指标需要进行自定义调整,用户可以在【分析方案】中进行配置:
规则配置:自定义调整规则严重级别。
度量配置:自定义调整圈复杂度检测阈值。
质量门禁:自定义调整门禁数据等。
提示
对规则等数据进行变更后,需要执行全量分析使得调整生效
问题列表
展示当前分析项目代码检查发现的问题列表,详细展示所有未处理的问题。可以通过问题级别、责任人与分析规则等各项筛选条件快速定位相关问题,可以调整问题的严重级别、问题状态、问题责任人,能显示完整的污点传播路径,能明确输入点,传播点,以及风险触发点,支持AI修复建议等。
问题级别:由高到低分为:严重、错误、警告、提示。
状态:分为三个状态:未处理、已处理、已关闭。
责任人:git balme 责任人,通常为对应问题行提交者。
圈复杂度
圈复杂度是一种代码复杂度的衡量标准,它可以用来衡量一个方法中结构的复杂程度。其数量上表现为独立执行路径条数,也可理解为覆盖所有的可能情况最少使用的测试用例数。
- 圈复杂度的意义
圈复杂度高的模块和方法,其缺陷个数往往也多,需重点关注。它可用于指导测试用例设计,创建数量与被测代码圈复杂度值相等的测试用例,以此提升用例对代码的分支覆盖率。
- 如何处理圈复杂度较高的函数?
建议采用重构函数的方式,即提炼函数、替换算法。 简化条件表达式的方法有逆向表达、分解条件以及合并条件,以多态取代条件式等。 简化函数调用可以采取读写分离、参数化方法和以明确函数取代参数的方法。
重复代码
重复代码表示一段源代码在一个程序,或者一个团体所维护的不同程序中重复出现,是不希望出现的现象。 Don't Repeat Yourself !
代码统计
可以统计运行该分析项目的代码仓库里所有文件的代码情况。能够分析出文件数量、代码行、语言及代码分布等,帮助团队快速掌握当前仓库代码量以及代码、语言分布等情况。
分析历史
用于展示每次执行代码分析的任务执行情况,可以精准定位每次分析执行的问题变化情况。