G.CTF.02 if条件表达式分支中如果包含了else if分支也应该包含else分支

【级别】 建议

【描述】

这样做有助于代码逻辑更加健壮清晰,在一些要求严格的编码规范中要求这么做,比如《MISRA-C:2004 Rule 14.10》编码规范。

【反例】

#[warn(clippy::else_if_without_else)]
fn a() {}
fn b() {}

fn main(){
    let x: i32 = 1;
    if x.is_positive() {
        a();
    } else if x.is_negative() {
        b();
    } // 不符合:没有 else 分支
}

【正例】

#[warn(clippy::else_if_without_else)]
fn a() {}
fn b() {}

fn main(){
    let x: i32 = 1;
    if x.is_positive() {
        a();
    } else if x.is_negative() {
        b();
    } else {
        // 符合
    }
}

【Lint 检测】

lint nameClippy 可检测Rustc 可检测Lint Grouplevel
else_if_without_elseyesnorestrictionallow