技巧和窍门–等效性测试

固件错误有福建省体彩网讨厌的习惯,即隐藏在福建省体彩网明显的视线中,而在某种程度上伪装且很难发现。几乎每个开发人员一次或一次犯下的这些错误之一,是由福建省体彩网非常简单的错字引起的,如下所示:

等价

此简单的条件语句用于检查变量LaunchMissile是否设置为TRUE。如果是这样,则程序无疑会启动启动序列,这是程序员没有意外要做的事情。不幸的是,这行代码将变量设置为TRUE,使if语句为TRUE,并导致导弹意外发射。

怎样避免像这样的简单等价错别字,即用=设置变量而不是用==检查值? MISRA C针对这种情况建议福建省体彩网独特的技巧!它涉及对文字常量(或由于使用“magic”不建议使用数字)。诀窍是将文字常量放在运算符的左侧而不是右侧。可以在下面看到:

等值1

以这种方式编写条件语句时,现在正试图为文字常量分配福建省体彩网LaunchMissile值,这将导致编译器错误!将检测到=而不是==的错字! (编译器很可能会抱怨分配给非左值)。检查错误后,可以添加缺少的=,这将使常数与LaunchMissile进行比较,这是有效的操作!现在更正后的语句为:

等值2

编译器警告已删除,并且已检测到错误!通过以这种方式用文字常量编写所有条件检查,有助于确保简单的错字不会’毁了一天!从而产生了更健壮的代码和福建省体彩网不必担心的错误。

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

该网站使用Akismet减少垃圾邮件。 了解如何处理您的评论数据.