if 分枝和 else 分枝的起止语句不应相同
9.1.8 ID_if_commonStatements
如果 if 分枝和 else 分枝的起止语句相同,应将其从分枝结构中提取出来,否则重复的代码不利于阅读和维护。
示例:
if (condition) {
foo();
....
bar();
}
else {
foo();
....
bar();
}
if 与 else 分枝的开头和结尾相同,应提取出来:
foo();
if (condition) {
....
}
else {
....
}
bar();
当条件分枝中的所有语句都相同时,本规则特化为 ID_if_identicalBlock,这种情况往往意味着错误。