if 分枝和隐含的 else 分枝不应完全相同
9.1.6 ID_if_identicalImplicitElseBlock
带有 return、throw 或 break 等子句的 if 语句,其同一作用域的后续代码相当于它的 else 分枝,显然这种隐含的 else 分枝与 if 分枝完全相同是没有意义的,很可能是由复制粘贴造成的错误。
示例:
if (condition) {
statements
return;
}
statements // Non-compliant
return;
例中 if 语句之内的 statements 以及 return 语句和 if 语句之外的语句完全相同,这种情况下 if 语句的条件判断是没有意义的,需修正本应存在的差异,或去掉 if 语句。