执行期间无法访问代码
不可达代码使用语句覆盖率确定在执行期间是否可以到达代码段。语句覆盖率检查程序语句是否已执行。如果语句具有测试条件,并且至少出现其中一个,则该语句已执行且可到达。未出现的测试条件不被视为死代码,除非ey具有相应的代码分支。如果所有测试条件都没有出现,则不会执行该语句,并且每个测试条件都是无法访问的代码的实例。例如,在转换
本准则的声明,案例3
从未发生过:
void test1(inta){inttmp=0;if((a!=3)){switch(a){案例1:tmp++;break;默认值:tmp=1;break;/*案例3到案例2没有死代码*/案例3:案例2:tmp=100;break;}}}void test2(inta){inttmp=0;if((a!=3)){switch(a){案例1:tmp++;break;默认值:tmp=1;break;//案件3的死代码案例3.:break;案例2:tmp=100;break;} |
在里面test1()
,案例3
符合案例2
检查显示没有死代码。在里面test2()
,该复选框显示的代码无效案例3
因为打破
不执行下一行的语句。
无法访问代码的其他示例包括:
如果测试条件的计算结果始终为false,则无法到达相应的代码分支来源窗格中,分支的开口括号为灰色。
如果测试条件的计算结果始终为true,则该条件是冗余的来源窗格中的条件关键字,例如如果
,显示为灰色。
代码遵循打破
或回来
陈述
如果代码块的左大括号在来源窗格中,要高亮显示整个块,请双击支撑。
检查对函数中的代码进行操作未调用的函数和函数不可到达确定函数本身是否未被调用或是从无法访问的代码调用。
组:数据流 |
语言:C+C++ |
首字母缩略词:UNR |