MATLAB 中的 mlint 和 checkcode 有什么区别?

Bar*_*ght 3 matlab

MATLAB 提供了两个函数来检查代码错误mlintcheckcode.

它们之间的主要区别是什么,为什么 MATLAB 帮助说不mlint推荐而checkcode应该使用?

Sam*_*rts 6

checkcode只是 的一个新名称mlint

大约六七年前,MathWorks 决定,出于品牌和产品完整性的原因,他们更愿意将 MATLAB(包括语言、IDE、图形、库等)视为一个名为 MATLAB 的单一实体,而不是可分离的事物。

他们意识到,他们通过(在代码、注释和一些营销材料中)将底层语言称为“M”而导致了这个问题,这可能会给人留下这样的印象:MATLAB 只是“M”语言的包装器。

他们检查了该产品并清除了几乎所有对“M”的引用,该mlint命令就是其中之一。

但是,他们有许多客户依赖该命令的存在mlint,并且不想更新他们的代码。因此,mlint为了向后兼容,它仍然存在,但它是故意不做广告的,它的帮助/文档只是说不再推荐它,你应该使用它checkcode

在现代版本的 MATLAB 中,如果您键入edit mlint,您会发现它实际上只是checkcode在幕后调用。

功能与以往相同,只是名称发生变化。然而,如果您要开始一个新项目,您应该使用checkcode,因为最终所有这些旧客户最终都会升级一些东西,到那时 MathWorks 很可能会决定最终mlint完全删除。