P.VAR.02 利用变量遮蔽功能保证变量安全使用
【描述】
在某些场景,可能会临时准备或处理一些数值,但在此之后,数据只用于检查而非修改。
那么可以将其通过变量遮蔽功能,重新绑定为不可变变量,来表明这种临时可变,但后面不变的意图。
【反例】
#![allow(unused)] fn main() { // 不符合:代码语义上没有表现出来先改变,后不变那种顺序语义 let data = { let mut data = get_vec(); data.sort(); data } // `data` 在后面不会再被改变 }
【正例】
#![allow(unused)] fn main() { // 符合 let mut data = get_vec(); data.sort(); //临时需要排序 let data = data; // 符合: 后面就不需要改动了,由编译器可以确保 // `data` 在后面不会再被改变 }