mcpField
R
rust-expert-best-practices-code-review

rust-expert-best-practices-code-review

github.com/wispbit-ai开发8256 次安装37 周前更新
代码仓库

关于 rust-expert-best-practices-code-review

面向 Rust 开发者的编码规范技能,适用于编写、审查和重构生产代码。规则按优先级覆盖类型安全、错误处理、API 设计、可读性与性能。

主要功能

  1. 01按优先级组织 Rust 规范
  2. 02类型安全与数据建模建议
  3. 03避免不必要 panic 的错误处理
  4. 04迭代器、格式化与可读性模式
  5. 05所有权与性能建议

适用场景

  1. 01审查 Rust 代码的安全问题
  2. 02重构函数与公共 API
  3. 03改进 Rust 错误处理
  4. 04提升代码清晰度与性能

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/wispbit-ai/skills --skill rust-expert-best-practices-code-review

安装后在 Claude Code 中输入/rust-expert-best-practices-code-review确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

rules/
avoid-boolean-params.md
avoid-box.md
avoid-panic.md
avoid-rc.md
calculated-field-as-method.md
decimal-comparison.md
match-statements-handle-all-cases.md
prefer-builder-pattern-for-complex.md
prefer-format.md
result-error-returns.md
use-borrowed-argument-types.md
use-copied.md
use-enum-deserialization.md
use-iterator-transforms.md
use-named-placeholders.md
use-typesafe-index-wrappers.md

详细介绍

Rust 专家最佳实践

简单、务实、有主见。只关注编写生产级 Rust 代码时真正重要的内容。

适用场景

在以下情况下参考这些指南:

  • 编写 Rust 代码(结构体、函数、枚举、trait)
  • 实现错误处理和 Result 类型
  • 检查 Rust 代码中的安全性或性能问题
  • 重构现有 Rust 代码库
  • 设计 API 和公共接口
  • 优化 Rust 代码的性能或清晰度

按优先级划分的规则类别

优先级类别影响前缀
1类型安全严重use-typesafe-、use-enum-
2错误处理严重-高result-、avoid-panic
3API 设计高use-borrowed-、prefer-builder-
4代码质量中-高use-iterator-、prefer-format
5可读性中use-named-、avoid-boolean-
6性能中avoid-rc、avoid-box

快速参考

  • use-borrowed-argument-types - 使用 &str、&[T]、&Path,而不是 &String、&Vec、&PathBuf
  • use-enum-deserialization - 使用穷尽式枚举匹配,确保安全反序列化
  • use-typesafe-index-wrappers - 封装索引类型,避免混用不同的索引
  • result-error-returns - 在 Result 函数中使用 ? 运算符,而不是 unwrap/expect
  • avoid-panic - 根据上下文使用 assert!、Result 或 expect,而不是 panic!
  • use-iterator-transforms - 使用迭代器方法,而不是显式的 push 循环
  • use-copied - 使用 .copied(),避免复杂的解引用模式
  • prefer-format - 使用 format!,而不是手动拼接字符串
  • prefer-builder-pattern-for-complex - 对包含 4 个或更多参数的函数使用构建器模式
  • use-named-placeholders - 解构时使用命名占位符,而不是单独的 _
  • decimal-comparison - 使用 .is_sign_negative(),而不是与 Decimal::ZERO 比较
  • calculated-field-as-method - 将计算字段实现为方法,而不是结构体字段
  • avoid-rc - 简单的所有权模式可行时,避免不必要地使用 Rc
  • avoid-box - 没有合理理由时,不要对具体类型使用 Box
  • avoid-boolean-params - 用枚举或结构体替代布尔参数
  • match-statements-handle-all-cases - 显式处理所有枚举变体,不使用兜底模式

使用方法

阅读各个规则文件,了解详细说明和代码示例:

rules/use-borrowed-argument-types.md
rules/use-enum-deserialization.md
rules/use-typesafe-index-wrappers.md
rules/result-error-returns.md
rules/avoid-panic.md
rules/use-iterator-transforms.md
rules/use-copied.md
rules/prefer-format.md
rules/prefer-builder-pattern-for-complex.md
rules/use-named-placeholders.md
rules/decimal-comparison.md
rules/calculated-field-as-method.md
rules/avoid-rc.md
rules/avoid-box.md
rules/avoid-boolean-params.md
rules/match-statements-handle-all-cases.md

每个规则文件都包含:

  • 简要说明规则的重要性
  • 何时使用及何时不使用该模式
  • 实现要求
  • 带说明的 BAD 代码示例
  • 带说明的 GOOD 代码示例
  • 补充背景信息和最佳实践

评论

支持 Markdown