面试题答案
一键面试影响说明
在Rust中,函数参数顺序重排可能极大影响代码可读性。如果将常规参数放在可选参数之后,或者将逻辑上相关的参数分开,会让调用者难以理解函数意图。例如,一个计算矩形面积的函数,如果把表示矩形宽度的参数放在表示矩形类型的参数之后,调用者可能一开始就困惑为何宽度不在前面。
代码示例
// 原始函数,参数顺序合理
fn rectangle_area(width: u32, height: u32) -> u32 {
width * height
}
// 参数顺序重排后的函数,可读性变差
fn rectangle_area_rearranged(height: u32, width: u32) -> u32 {
width * height
}
在上述示例中,rectangle_area
函数参数顺序很直观,先宽度后高度,调用者容易理解。而rectangle_area_rearranged
函数把高度参数放在前面,打破了常规认知,增加了理解成本。
优化建议
- 遵循逻辑顺序:将逻辑上相关的参数放在一起,比如计算几何图形相关函数,把表示该图形属性的参数按常规认知顺序排列。
- 优先常用参数:如果存在可选参数,将必选且常用的参数放在前面,让调用者先关注核心信息。
- 考虑一致性:如果项目中有类似功能的函数,保持参数顺序的一致性,方便开发者记忆和理解。