执行期间无法达到代码
无法访问的代码使用语句覆盖范围来确定在执行期间是否可以达到一部分代码。语句覆盖检查是否执行了程序语句。如果语句具有测试条件,并且至少发生其中一个,则执行并可到达该语句。除非它们具有相应的代码分支,否则不会发生的测试条件不被视为死亡代码。如果未发生所有测试条件,则不会执行语句,并且每个测试条件都是无法访问代码的实例。例如,在转变
此代码的陈述,案例3.
永远不会发生:
void test1(int a){int tmp = 0;if((a!= 3)){switch(a){case 1:tmp ++;休息;默认值:TMP = 1;休息;/ *案例3落后于案例2,没有死者代码* /案例3:案例2:TMP = 100;休息;void test2(int a){int tmp = 0;if((a!= 3)){switch(a){case 1:tmp ++;休息;默认值:TMP = 1;休息;//案例3的死人代码案件3.: 休息;案例2:TMP = 100;休息;}}} |
在test1()
那案例3.
落到了案例2.
检查没有任何死者代码。在test2()
,检查显示了死亡代码案例3.
因为这休息
未执行下一行的语句。
无法访问代码的其他示例包括:
如果测试条件始终评估为false,则无法达到相应的代码分支。在这一点来源窗格,分支的开口支架是灰色的。
如果测试条件总是评估为true,则条件是冗余的。在这一点来源窗格,条件关键字,如如果
,看起来很灰色。
代码遵循a休息
或者返回
陈述。
如果代码块的开放支架上显示为灰色来源窗格,要突出整个块,双击支架。
检查在函数内的代码上运行。支票功能未调用和功能无法到达确定功能本身是否未被调用或从无法访问的代码调用。
团体:数据流 |
语:C |C ++ |
首字母缩略词:unr |