SuperAPI AI 工具集

rust-code-quality-guide

编程与开发

查看项目

更新于 10-16 06:45

技能介绍

用途:该技能用于在编写或审查 Rust 代码时保证代码质量,覆盖类型转换、错误处理、错误信息与 Clippy 合规等场景。

主要能力与规则:

  1. 类型转换不得静默回退。禁止使用 unwrap_or(MAX_VALUE)、max(0)、unwrap_or(0) 等回退方式,因为会把越界或非法值静默映射为默认值,导致计算错误甚至系统故障。应使用 map_err 或显式 match 处理错误。
  2. 用 try_from() 替代 as 转换。as 会静默截断,try_from() 可对越界转换显式报错,例如 u8::try_from(large_number).map_err(|_| format!("Value {large_number} exceeds u8::MAX"))?。
  3. format! 使用内联参数。用 {variable} 语法替代分离参数,避免 clippy::uninlined_format_args 警告,例如 format!("Error: {error} occurred at line {line}")。
  4. 错误信息必须包含致因值。应写明导致错误的具体参数,如 format!("Invalid count: {count} (must be 1-474)"),便于调试。
  5. 生产代码禁止用 #[allow(clippy::...)] 压制警告,应重构解决(如拆分过长函数);测试代码中可接受用于测试特定模式(如 unwrap_used、significant_drop_tightening)。若确实无法修复,需用注释说明例外原因。

适用场景:编写涉及类型转换或错误处理的新 Rust 代码、审查代码质量、修复 Clippy 警告、理解某些模式为何不推荐。

限制:资料未提供安装命令、平台支持、收费方式或具体使用步骤,暂未提供相关信息。