MatLab提供两个函数来检查代码中的错误mlint和checkcode。它们之间的主要区别是什么?为什么MatLab帮助说不推荐使用mlint,而应该使用checkcode?
mlint
checkcode
ivqmmu1c1#
checkcode只是mlint的新名称。大约六七年前,MathWorks决定,出于品牌和产品完整性的原因,他们更希望人们将MatLab(包括语言、IDE、图形、库等)视为一个单独的实体,称为MatLab,而不是可分离的东西。他们意识到,他们(在代码、注解和一些营销材料中)将底层语言称为“M”,这可能会给人一种印象,认为MATLAB只是“M”语言的 Package ,从而助长了这个问题。他们检查了产品并清除了几乎所有对“M”的引用,mlint命令就是其中之一。然而,他们有许多客户依赖于命令mlint的存在,并且不想更新他们的代码。因此,mlint仍然存在是为了向后兼容,但它是故意不做宣传的,它的帮助/文档只是说不再推荐它,而应该使用checkcode。在现代版本的matlab中,如果您键入edit mlint,您将看到它实际上只是在引擎盖下调用checkcode。功能一如既往,只是更名了。然而,如果您正在开始一个新项目,您应该使用checkcode,因为最终所有那些老客户都将最终升级东西,到那时MathWorks很可能决定最终完全删除mlint。
edit mlint
1条答案
按热度按时间ivqmmu1c1#
checkcode
只是mlint
的新名称。大约六七年前,MathWorks决定,出于品牌和产品完整性的原因,他们更希望人们将MatLab(包括语言、IDE、图形、库等)视为一个单独的实体,称为MatLab,而不是可分离的东西。
他们意识到,他们(在代码、注解和一些营销材料中)将底层语言称为“M”,这可能会给人一种印象,认为MATLAB只是“M”语言的 Package ,从而助长了这个问题。
他们检查了产品并清除了几乎所有对“M”的引用,
mlint
命令就是其中之一。然而,他们有许多客户依赖于命令
mlint
的存在,并且不想更新他们的代码。因此,mlint
仍然存在是为了向后兼容,但它是故意不做宣传的,它的帮助/文档只是说不再推荐它,而应该使用checkcode
。在现代版本的matlab中,如果您键入
edit mlint
,您将看到它实际上只是在引擎盖下调用checkcode
。功能一如既往,只是更名了。然而,如果您正在开始一个新项目,您应该使用
checkcode
,因为最终所有那些老客户都将最终升级东西,到那时MathWorks很可能决定最终完全删除mlint
。