多重条件保障

问题描述

试图找出多条件覆盖之间的区别

代码 A:

if (a && b) then
   print "Hello"
Endif

A 的多条件覆盖:
a=1,b=1
a=1,b=0
a=0,b=1
a=0,b=0

这个怎么样?

代码 B:

if (a) then
   if (b) then
      print "Hello"
   Endif
Endif

代码是否具有相同的“多条件覆盖”?因为当 a=0 时,内部条件被忽略...

解决方法

两种解决方案都有效地做同样的事情并且满足“多条件覆盖”,假设您只希望在两者都为真时打印“Hello”。一种是否比另一种更有效取决于所使用的语言。无论如何,两者在复杂性方面都是线性的,因此对于现代语言和硬件来说,差异是没有实际意义的。