Skill de Melhores Práticas em Rust
Refatorações idiomáticas e código limpo com clippy - uma Skill de Agente para revisão e limpeza de código Rust 1.97.0 (edição 2024).
O Que Esta Skill Faz
Revisa PRs para Rust idiomático: clone desnecessário, match verboso, impl Trait ausente, visibilidade inadequada, tipos de string (stringly types) e avisos do clippy. Produz pequenas refatorações focadas com testes aprovados.
Quando Invocar
- Solicitações de revisão "Torne isso mais idiomático"
- Limpeza de backlog de avisos do Clippy
- PRs de onboarding ensinando convenções da equipe
- Sprint de polimento pré-lançamento
Entradas
| Entrada | Por quê |
|---|---|
| Caminho de diff ou módulo | Limite de escopo |
| Política do Clippy | -D warnings ou lista de permissões |
| MSRV | Recursos da edição 2024 com restrição |
| Sensibilidade de performance | evitar churn em caminhos críticos (hot paths) |
Saídas
- Lista de correções priorizadas (auto-correção vs. manual)
- Snippets refatorados
- Verificação de limpeza com
cargo fmteclippy - Adições opcionais de
#[must_use]e documentação na API pública
Guardrails
- Testes verdes após cada refatoração - sem alteração de comportamento inesperada.
- Respeitar MSRV - sem sintaxe exclusiva de nightly sem aprovação.
- Alterações na API pública precisam de nota semver - renomeações que quebram compatibilidade são sinalizadas.
- Clippy permite documentado -
#[allow]requer comentário. - Preferir explícito sobre esperto - legibilidade vence em desempates.
Receita
cargo fmt --all
cargo clippy --all-targets --all-features -- -D warnings
cargo test --all-features
cargo doc --no-depsExemplo de Trabalho
// Antes
fn get_name(user: &User) -> String {
user.name.clone()
}
// Depois
fn get_name(user: &User) -> &str {
&user.name
}FAQs
Aplicar todo o clippy pedante?
A política da equipe decide; padrão para o nível de lint padrão mais um subconjunto pedante acordado.
Quando permitir clone?
Quando a transferência de propriedade é necessária e o profiler mostra um caminho frio (cold path).
Migração para Edição 2024?
Siga a edição do workspace em Cargo.toml; a skill respeita o manifesto, não suposições.
Relacionados
Versões da Stack: Esta página foi escrita para Rust 1.97.0 (edição 2024), Tokio 1.x, Axum 0.8, serde 1.0, sqlx 0.8, clap 4, e Polars 0.46+.