Main Content

codeCompatibilityReport

创建代码兼容性报告

说明

示例

codeCompatibilityReport 为当前工作文件夹和子文件夹创建代码兼容性分析报告。代码兼容性报告 在 MATLAB® Web 浏览器中打开。升级到较新版本的 MATLAB 后,您可以使用此报告来确定现有代码中潜在的兼容性问题。

由 MATLAB 代码分析器执行的所有检查的列表,包括兼容性问题检查,在此处提供:Index of Code Analyzer Checks

codeCompatibilityReport(names)names 指定的文件或文件夹创建报告。

codeCompatibilityReport(___,'IncludeSubfolders',tf) 指定是否对子文件夹进行报告。默认情况下,分析包含子文件夹。请将此语法与上述语法中的任何参量结合使用。

示例

codeCompatibilityReport(cca) 根据指定为 CodeCompatibilityAnalysis 对象的现有代码兼容性结果创建报告。

示例

全部折叠

使用 codeCompatibilityReport 生成代码兼容性报告。

codeCompatibilityReport

此命令启动代码兼容性分析器,针对指定的代码就发现的兼容性问题生成报告。报告顶部的摘要部分概述报告中包含的信息。此部分显示分析了多少个文件,以及在分析的代码中发现的错误、警告和信息性消息的总数。

Code Compatibility Analyzer app

代码兼容性分析器生成信息来帮助您将代码升级到 MATLAB 的最新版本。它包含以下问题类型。

  • 语法错误 - 该表包含语法错误详细信息。语法错误会导致代码无法运行,虽然它们不是新版本的 MATLAB 引入的,但语法错误会影响兼容性分析。

  • 已经删除的功能 - 该表包含关于被分析的代码中还在使用但实际已删除的功能的详细信息。例如:'wavfinfo' has been removed.Use 'audioinfo' instead.

  • 行为已经改变的功能 - 该表包含关于被分析的代码中还在使用但其行为已更改的功能的详细信息。例如,'legend' 已更改,可能会将参量的名称解释为图例属性而不是标签。要包含与图例属性同名的标签,请使用元胞数组或字符串数组指定标签。请参阅相关文档查看受影响的属性名称列表。

  • 可能导致错误的不受支持的功能 - 该表包含不受支持、尚未公开和不打算使用的功能的详细信息。请更新您的代码以使用公开的功能,因为不支持的功能可能导致错误和意外的行为变化。例如,'awtinvoke' 不受支持,并且可能已更改或删除而未另行通知。请对代码进行相应更改后改用 javaMethodEDT。

  • 将要删除的功能 - 该表包含被分析的代码中还在使用但将在以后的版本中删除的功能的详细信息。例如:'aviinfo' will be removed in a future release.Use 'VideoReader' instead.

  • 行为将要改变的功能 - 该表包含被分析的代码中还在使用但将在以后的版本中更改行为的功能的详细信息。例如,'interp1(...,'cubic')' 在以后的版本中将更改为执行三次卷积。要继续使用保形分段三次插值,请改用 'interp1(...,'pchip')'。

  • 可能改进代码的新功能 - 该表包含关于新功能的详细信息。请考虑更新您的代码。预计当前代码将在以后的版本中继续正常运行,但推荐使用更新功能。例如:Programmatic use of DISPLAY is not recommended.Use DISP or FPRINTF instead.

默认情况下,问题按问题类型分组。您可以使用分组依据列表来更改问题的分组方式。按文件对报告进行分组。

Code Compatibility Analyzer report grouped by file.

您可以使用按严重性过滤按问题类型过滤列表来过滤显示的消息。对报告进行过滤以仅显示错误。

Code Compatibility Analyzer report filtered by severity

为当前文件夹和子文件夹中的代码创建代码兼容性报告。报告在 MATLAB Web 浏览器中打开。

codeCompatibilityReport

再创建一个报告,但在分析中忽略子文件夹。

codeCompatibilityReport('IncludeSubfolders',false)

为当前工作文件夹和子文件夹中的代码生成兼容性分析结果。

r = analyzeCodeCompatibility;

根据结果创建报告。报告在 MATLAB Web 浏览器中打开。

codeCompatibilityReport(r)

输入参数

全部折叠

要分析的文件或文件夹的名称,指定为字符向量、字符向量元胞数组、字符串标量或字符串数组。

文件名必须是有效的 MATLAB 代码或 App 文件(.m.mlx.mlapp)。

示例: '../thisFile.m'

示例: {'folderA','folderB','fileA'}

数据类型: char | string

子文件夹分析指示符,指定为 truefalse、0 或 1。默认情况下,analyzeCodeCompatibility 在分析时包含子文件夹。要忽略子文件夹,请将 tf 设置为 false 或 0。

代码兼容性分析结果,指定为 CodeCompatibilityAnalysis 对象。

详细信息

全部折叠

代码兼容性报告

代码兼容性报告包含可帮助您将代码升级到新版本 MATLAB 的信息。它包含以下各部分。

  • 语法错误 - 该表包含语法错误详细信息。例如:Using ~ to ignore a value is not permitted in this context.语法错误会导致代码无法运行,虽然它们不是新版本的 MATLAB 引入的,但语法错误会影响兼容性分析。

  • 已经删除的功能 - 该表包含关于被分析的代码中还在使用但实际已删除的功能的详细信息。例如:'wavfinfo' has been removed.Use 'AUDIOINFO' instead.

  • 行为已经改变的功能 - 该表包含关于被分析的代码中还在使用但其行为已更改的功能的详细信息。例如,'legend' 已更改,可能会将参量的名称解释为图例属性而不是标签。要包含与图例属性同名的标签,请使用元胞数组或字符串数组指定标签。请参阅相关文档查看受影响的属性名称列表。

  • 可能导致错误的不受支持的功能 - 此处列出的文件使用的功能不受支持、尚未公开且不适合客户使用。请更新您的代码以使用公开的功能来避免错误和意外的行为变化。例如,'awtinvoke' 不受支持,并且可能已更改或删除而未另行通知。请对代码进行相应更改后改用 javaMethodEDT。

  • 将要删除的功能 - 该表包含被分析的代码中还在使用但将在以后的版本中删除的功能的详细信息。例如:'aviinfo' will be removed in a future release.Use 'VideoReader' instead.

  • 行为将要改变的功能 - 该表包含被分析的代码中还在使用但将在以后的版本中更改行为的功能的详细信息。例如,'interp1(...,'cubic')' 在以后的版本中将更改为执行三次卷积。要继续使用保形分段三次插值,请改用 'interp1(...,'pchip')'。

  • 可能改进代码的新功能 - 考虑更新您的代码。预计当前代码将在以后的版本中继续正常运行,但推荐使用更新功能。例如:Programmatic use of DISPLAY is not recommended.Use DISP or FPRINTF instead.

  • 所有已执行检查的列表 - 该表包含关于对指定代码执行的检查的信息。

  • 所有已分析文件的列表 - MATLAB 为了检查代码兼容性而分析的文件列表。

提示

备选方法

App 选项卡上的 MATLAB 下访问代码兼容性报告,点击 App 图标:Code Compatibility Analyzer app icon

版本历史记录

在 R2017b 中推出