code-quality

📁 d-o-hub/rust-self-learning-memory 📅 5 days ago
9
总安装量
9
周安装量
#32574
全站排名
安装命令
npx skills add https://github.com/d-o-hub/rust-self-learning-memory --skill code-quality

Agent 安装分布

opencode 9
claude-code 9
github-copilot 9
codex 9
kimi-cli 9
gemini-cli 9

Skill 文档

Code Quality

Use the code-quality scripts for all operations.

Usage

# Format check (fast)
./scripts/code-quality.sh fmt

# Lint with clippy
./scripts/code-quality.sh clippy

# Security audit
./scripts/code-quality.sh audit

# Run all quality gates
./scripts/code-quality.sh check

# Auto-fix common issues
./scripts/code-quality.sh clippy --fix

Quality Gates

Check Command
Format cargo fmt --all -- --check
Lint cargo clippy --all -- -D warnings
Audit cargo audit
Full ./scripts/quality-gates.sh
Coverage cargo llvm-cov --html --output-dir coverage
Docs cargo doc --no-deps

Rust Quality Dimensions

Dimension Focus Check
Structure Files <500 LOC, module hierarchy find . -name "*.rs" -exec wc -l {} +
Error Handling Custom Error, Result, no unwrap rg "unwrap()" --glob "*.rs" --glob "!*/tests/*"
Async Patterns async fn, spawn_blocking, no blocking rg "async fn|spawn_blocking" --glob "*.rs"
Testing >90% coverage, integration tests cargo llvm-cov
Documentation Public APIs 100% documented cargo doc --no-deps

Rust-Specific Anti-Patterns

  • 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

Best Practices Checklist

  • Files <500 LOC
  • Clear module hierarchy
  • Custom Error enum with Result
  • 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)

Dependency Monitoring (ADR-036)

Track duplicate dependency count as a quality metric:

# Count duplicate dependency roots (target: < 100)
cargo tree -d | grep -cE "^[a-z]"

# Find unused dependencies
cargo install --locked cargo-machete cargo-shear
cargo machete
cargo shear

# Find unused features
cargo install --locked cargo-unused-features
cargo unused-features analyze

References

Consolidated from these former skills (preserved in _consolidated/):

  • rust-code-quality — Rust-specific quality dimensions, analysis commands, report format
  • clean-code-developer — SOLID principles, refactoring techniques, anti-patterns