关于 code-quality
面向 Rust 开发者的代码质量技能,将整洁代码原则与实用质量门禁结合,涵盖格式、Lint、安全审计、覆盖率、文档和依赖检查。
主要功能
- 01格式与 Clippy 检查
- 02安全及依赖审计
- 03覆盖率与文档目标
- 04Rust 错误处理及异步指导
- 05整洁代码原则与反模式
适用场景
- 01为 Rust 工作区设置质量门禁
- 02检查 Rust 代码的可维护性问题
- 03检查依赖使用情况及重复项
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ d-o-hub/ rust-self-learning-memory --skill code-quality安装后在 Claude Code 中输入/code-quality确认已加载。
附带文件quality-dimensions.md
详细介绍
代码质量
用于 Rust 代码质量和整洁代码开发的统一技能。
快速命令
./scripts/code-quality.sh fmt # Format check
./scripts/code-quality.sh clippy --workspace # Lint with clippy
./scripts/code-quality.sh audit # Security audit
./scripts/code-quality.sh check # Run all quality gates
./scripts/quality-gates.sh # Full gates (coverage 90%)
质量门禁
| 检查项 | 命令 | 目标 |
|---|---|---|
| 格式 | ./scripts/code-quality.sh fmt | 100% 符合要求 |
| Lint | ./scripts/code-quality.sh clippy --workspace | 零警告 |
| 审计 | cargo audit | 无已知漏洞 |
| 覆盖率 | cargo llvm-cov --html | >=90% |
| 文档 | cargo doc --no-deps | 覆盖所有公共 API |
Rust 质量维度
| 维度 | 关注点 |
|---|---|
| 结构 | 文件 <500 LOC,模块清晰 |
| 错误处理 | 自定义 Error、Result、? 运算符(不使用 unwrap) |
| 异步 | CPU 密集型工作使用 spawn_blocking,异步代码中不执行阻塞操作 |
| 测试 | 覆盖率 >=90%,AAA 模式,cargo nextest + doctests |
| 安全 | 参数化 SQL、环境变量、不硬编码密钥 |
整洁代码原则
SOLID:单一职责、开闭原则、里氏替换、接口隔离、依赖反转
DRY/KISS/YAGNI:提取通用代码、采用简单方案、只构建当前需要的内容
反模式
| 不佳做法 | 修正方式 |
|---|---|
| 过度克隆 | 使用借用或 Arc |
| 不必要的 unwrap | 使用 ? 运算符 |
| 嵌套过深 | 提取方法 |
| 函数过长 | 拆分(<50 LOC) |
| 死锁 | 在 .await 之前释放锁 |
依赖项监控
cargo tree -d | grep -cE "^[a-z]" # Count duplicates (target: <100)
cargo machete && cargo shear # Find unused deps
代码审查输出格式
# Code Quality Report
Score: X/100 | Critical Issues: N | Warnings: M
- Structure: [Status] | Error Handling: [Status] | Testing: [Status]
1. [Issue] - File:line - Fix: [Recommendation]
参考资料
quality-dimensions.md、ADR-036(依赖项去重)、ADR-032(磁盘空间)
评论
支持 Markdown