SuperAPI AI 工具集

rust-systems

编程与开发

查看项目

更新于 10-15 23:24

技能介绍

用途:面向 Rust 系统编程的实践模式集合,帮助编写安全、可维护的 Rust 代码。

主要能力:

  1. 所有权与借用:示例展示借用(&T、&mut T)与所有权转移(move)的区别,建议优先借用,仅在必要时使用 Clone。
  2. 错误处理:使用 thiserror 定义错误枚举,配合 ? 运算符传播;建议库用 thiserror、应用层用 anyhow,生产代码避免 .unwrap()。
  3. Trait 与泛型:以 Repository trait 为例,展示关联类型与异步方法,用于抽象与可测试性。
  4. 异步模式:使用 tokio 的 Semaphore 与 futures 的 buffer_unordered 实现有界并发;提供优雅关闭示例(监听 Ctrl+C 后 shutdown_timeout)。
  5. Builder 模式:为复杂配置结构体提供链式构建。
  6. 反模式与检查表:列出库代码中使用 unwrap/expect、无谓克隆、跨 .await 持有 MutexGuard、滥用 Arc<Mutex<Vec<T>>>、未记录 unsafe 不变量、Result 函数缺少 #[must_use] 等问题;检查表涵盖错误类型、无 unwrap、最小化克隆、有界并发、trait 抽象、unsafe 安全不变量文档、Builder 模式与 Clippy 检查。

使用方式:资料以代码示例形式给出,可直接参考其中的函数签名与模式;示例涉及 thiserror、sqlx、tokio、futures、reqwest 等依赖,具体安装与版本未提供。

适用场景:Rust 后端服务、异步并发任务、数据库访问层抽象、配置构建等系统编程场景。

限制:资料未提供完整项目结构、依赖版本、运行环境要求或性能数据;部分示例(如 graceful_shutdown 中 handle.shutdown_timeout)的用法需结合具体运行时版本确认。