主要内容

本页采用了机器翻译。点击此处可查看英文原文。

检查 MATLAB 函数度量

mathworks.hism.himl_0003

依赖关系: Simulink® Check™

用法: 高完整性系统建模

规范: himl_0003:用户自定义函数 MATLAB 和 的复杂度

说明

使用此检查来提供 MATLAB® 函数的复杂性和代码度量。

该检查报告了两类度量违规:

  • 基于模块的度量 - MATLAB Function 模块所有代码的度量

  • 基于功能的度量 - MATLAB Function 模块中每个功能的度量,单独考虑。

检查参数

使用模型顾问配置编辑器,通过指定输入参数来定义分析范围。

参数描述
检查模型中引用的外部 .m 文件

指定是否对模型中引用的 MATLAB 文件运行。

on (默认) | off

跟随链接

指定是否将文库链接模块的内容纳入分析。

on(默认)| off

查看封装内部

指定是否在分析中包含掩码模型元素。

全部(默认)| | 图形 | 功能性

  • 全部 - 检查分析是否包含所有掩码模型元素。

  • - 检查分析排除了已屏蔽的模型元素。

  • 图形 - 检查分析仅包括图形掩码模型元素。

  • 功能性 - 检查分析仅包括功能掩码模型元素。

每个函数的最大有效代码行数

指定每个函数的最大有效代码行数,不包括空行、注释行或仅包含 end 关键字的行。

60(默认值)

评论最低密度

指定注释行数与代码总行数的最小比例。

0.2(默认)

每个函数的最大圈复杂度

指定源代码中线性无关路径的最大数量。

15(默认值)

建议的行动和结果

查看检查中标记出的违规行为以及建议的修复措施。应用更改后,保存模型并重新运行检查分析。

建模条件建议的操作
MATLAB 函数违反了代码和复杂度度量。

对于 MATLAB 函数:

  • 如果非注释代码行数过多,则将函数拆分为多个代码行数少于原函数的函数。

  • 如果注释密度太低,请添加更多注释来描述代码。

  • 如果每个函数的圈复杂度度过高,则将每个函数拆分成多个单独的函数,每个单独的函数源代码中线性无关路径的数量要少于原始函数。

功能和限制

  • 仅分析 Simulink 模型直接引用的函数

  • 可以在库模型上运行

  • 允许排除模块和图

  • 分析活动和非活动变体的选择

  • 无需模型编译

  • 不分析嵌套函数级别

版本历史记录

在 R2016a 中推出