code-quality
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseCode Quality
代码质量
Use the code-quality scripts for all operations.
所有操作均使用代码质量脚本完成。
Usage
使用方法
bash
undefinedbash
undefinedFormat check (fast)
格式检查(快速)
./scripts/code-quality.sh fmt
./scripts/code-quality.sh fmt
Lint with clippy
使用Clippy进行代码检查
./scripts/code-quality.sh clippy
./scripts/code-quality.sh clippy
Security audit
安全审计
./scripts/code-quality.sh audit
./scripts/code-quality.sh audit
Run all quality gates
运行所有质量门禁
./scripts/code-quality.sh check
./scripts/code-quality.sh check
Auto-fix common issues
自动修复常见问题
./scripts/code-quality.sh clippy --fix
undefined./scripts/code-quality.sh clippy --fix
undefinedQuality Gates
质量门禁
| Check | Command |
|---|---|
| Format | |
| Lint | |
| Audit | |
| Full | |
| Coverage | |
| Docs | |
| 检查项 | 命令 |
|---|---|
| 格式检查 | |
| 代码检查 | |
| 安全审计 | |
| 全面检查 | |
| 覆盖率检查 | |
| 文档检查 | |
Rust Quality Dimensions
Rust代码质量维度
| Dimension | Focus | Check |
|---|---|---|
| Structure | Files <500 LOC, module hierarchy | |
| Error Handling | Custom Error, Result<T>, no unwrap | |
| Async Patterns | async fn, spawn_blocking, no blocking | |
| Testing | >=90% coverage, integration tests | |
| Documentation | Public APIs 100% documented | |
| 维度 | 关注点 | 检查方式 |
|---|---|---|
| 代码结构 | 文件行数<500 LOC,模块层级清晰 | |
| 错误处理 | 自定义错误类型、Result<T>,避免unwrap | |
| 异步模式 | async fn、spawn_blocking,避免阻塞操作 | |
| 测试 | 覆盖率≥90%,集成测试完善 | |
| 文档 | 公共API 100%有文档 | |
Rust-Specific Anti-Patterns
Rust特定反模式
- Excessive Clone: Use borrowing or Arc
- Unnecessary Unwrap: Use operator
? - Deep Nesting: Extract methods to flatten
- Large Functions: Split into smaller functions (< 50 LOC)
- Deadlocks: Release locks before
.await
- 过度克隆:使用借用或Arc
- 不必要的unwrap:使用操作符
? - 深层嵌套:提取方法以扁平化代码结构
- 过大函数:拆分为更小的函数(<50 LOC)
- 死锁:在前释放锁
.await
Best Practices Checklist
最佳实践检查清单
- Files <500 LOC
- Clear module hierarchy
- Custom Error enum with Result<T>
- No unwrap() in production code
- async fn for IO operations
- spawn_blocking for CPU work
- >=90% test coverage
- Public APIs documented
- SOLID principles applied
- No code duplication (DRY)
- 文件行数<500 LOC
- 模块层级清晰
- 自定义Error枚举搭配Result<T>
- 生产代码中无unwrap()
- IO操作使用async fn
- CPU密集型工作使用spawn_blocking
- 测试覆盖率≥90%
- 公共API已文档化
- 遵循SOLID原则
- 无代码重复(DRY原则)
Dependency Monitoring (ADR-036)
依赖监控(ADR-036)
Track duplicate dependency count as a quality metric:
bash
undefined将重复依赖数量作为质量指标进行跟踪:
bash
undefinedCount duplicate dependency roots (target: < 100)
统计重复依赖根节点数量(目标:<100)
cargo tree -d | grep -cE "^[a-z]"
cargo tree -d | grep -cE "^[a-z]"
Find unused dependencies
查找未使用的依赖
cargo install --locked cargo-machete cargo-shear
cargo machete
cargo shear
cargo install --locked cargo-machete cargo-shear
cargo machete
cargo shear
Find unused features
查找未使用的特性
cargo install --locked cargo-unused-features
cargo unused-features analyze
undefinedcargo install --locked cargo-unused-features
cargo unused-features analyze
undefinedReferences
参考资料
- ADR-036: Dependency Deduplication
- ADR-032: Disk Space Optimization
Consolidated from these former skills (preserved in ):
_consolidated/- — Rust-specific quality dimensions, analysis commands, report format
rust-code-quality - — SOLID principles, refactoring techniques, anti-patterns
clean-code-developer
- ADR-036: 依赖去重
- ADR-032: 磁盘空间优化
整合自以下原技能(保留在目录中):
_consolidated/- — Rust特定质量维度、分析命令、报告格式
rust-code-quality - — SOLID原则、重构技巧、反模式
clean-code-developer