P.VAR.01 一般情况下避免先声明可变变量再赋值
【描述】
一般情况下,不要先声明一个可变的变量,然后在后续过程中再去改变它的值。声明一个变量的时候,要对其进行初始化。如果后续可能会改变其值,要考虑优先使用变量遮蔽(继承式可变)功能。如果需要在一个子作用域内改变其值,再使用可变绑定或可变引用。
【反例】
#![allow(unused)] fn main() { // 不符合 let mut base : u8; if cfg!(not(USB_PROTOCOL_NEW_ARCH)) { base = other_instance.base; } else { base = 42u8; } }
【正例】
#![allow(unused)] fn main() { // 符合 let base : u8 = if cfg!(not(USB_PROTOCOL_NEW_ARCH)) { other_instance.base } else { 42u8 } }