在执行期间无法访问代码
遥不可及的代码使用语句覆盖率来确定在执行过程中是否可以到达代码段。语句覆盖检查程序语句是否被执行。如果一条语句具有测试条件,并且至少出现了其中一个条件,则该语句将被执行并可达。没有发生的测试条件不会被认为是死代码,除非它们有相应的代码分支。如果没有出现所有的测试条件,则不会执行语句,并且每个测试条件都是不可访问代码的实例。例如,在开关
本代码的声明,案例3
从来没有发生:
Void test1 (int a) {int TMP = 0;If ((a!=3)) {switch (a){case 1: tmp++;打破;默认:TMP = 1;打破;/* case 3落到了case 2,没有死代码*/Case 3: Case 2: TMP = 100;打破;}}} void test2 (int a) {int TMP = 0;If ((a!=3)) {switch (a){case 1: tmp++;打破;默认:TMP = 1;打破;//情况3的死代码情况下3.:休息;Case 2: TMP = 100;打破;}}} |
在test1 ()
,案例3
下降到案例2
检查显示没有死代码。在test2 ()
时,检查显示为无效代码案例3
因为打破
语句将不执行。
其他不可达代码的例子包括:
如果测试条件的计算结果总是为false,则无法到达相应的代码分支。在源窗格,树枝的张开支柱是灰色的。
如果一个测试条件的值总是为true,则该条件是冗余的。在源窗格中,条件关键字,例如如果
,灰色。
下面是代码打破
或返回
声明。
如果代码块的左括号在源窗格中,要突出显示整个块,请双击大括号。
检查作用于函数内部的代码。的检查函数不叫和函数不可以确定函数本身是否没有被调用,或者是从不可访问的代码中调用的。
组:数据流 |
语言:C | c++ |
缩略词:老 |