switch 语句不应嵌套
9.5.15 ID_switch_forbidNest
嵌套的 switch 语句使代码显得复杂,不利于阅读和维护。
不同 switch 语句的分枝交织在一起,较难看出分枝的从属关系,尤其是相关代码行数较多时这种问题会更为明显,应将内嵌的 switch 语句抽取成一个函数,使代码具有更清晰的静态结构。
示例:
switch (u)
{
case 1:
....
case 2:
switch (v) // Non-compliant
{
case 3: // Confusing
....
case 4:
....
}
default:
....
}