MATLAB代码分析警告
语法警告和属性名称
MATLAB®代码分析器可以帮助你优化你的代码,避免语法错误当你编写代码。是有用的了解一些代码分析器的规则适用于类定义代码的分析。这种理解可以帮助你避免MATLAB代码允许的情况下这是不可取的。
变量/属性名冲突警告
代码分析器警告的方法中使用变量名匹配属性的名称。例如,假设一个类定义了一个属性EmployeeName
在这个类中,有一个方法,使用EmployeeName
作为一个变量:
属性EmployeeName结束方法函数someMethod (obj, n) EmployeeName = n;结束结束
虽然前面的函数是合法的MATLAB代码,它导致代码分析器警告,有两个原因:
的价值
EmployeeName
从来没有使用EmployeeName
是属性的名称作为变量
如果函数someMethod
包含以下声明:
obj。EmployeeName = n;
代码分析器生成没有警告。
如果你改变someMethod
:
函数EN = someMethod (obj) EN = EmployeeName;结束
代码分析器只返回一个警告,暗示你可能会想要参考EmployeeName
财产。
在这个版本的someMethod
是合法的MATLAB代码,这是令人困惑的给一个属性相同的名称作为一个函数。因此,代码分析器提供了一个警告建议你本意的声明:
EN = obj.EmployeeName;
变量/属性名规则的例外
假设您定义一个方法,返回一个值的属性,并使用属性的名称为输出变量的名字。例如:
函数EmployeeName = someMethod (obj) EmployeeName = obj.EmployeeName;结束
代码分析器不警告当变量名相同的属性名当变量:
一个输入或输出变量
一个全球或持久性变量
在这些特殊的情况下,代码分析器不提醒你,你正在使用一个变量名,也是一个属性名。因此,一个编码错误如下:
函数EmployeeName = someMethod (obj) EmployeeName = EmployeeName;%忘了包括obj。结束
不触发一个警告的代码分析器。