Diretrizes de Revisão de Código
Revisões de PRs de Rust equilibram correção, design de API e operabilidade. Os revisores priorizam panics, unsafe, bloqueio assíncrono, mapeamento de erros e alterações de dependência.
Busque em todas as páginas da documentação
Revisões de PRs de Rust equilibram correção, design de API e operabilidade. Os revisores priorizam panics, unsafe, bloqueio assíncrono, mapeamento de erros e alterações de dependência.
Os revisores analisam nesta ordem:
Quando usar isto:
// Bloqueando DB em handler assíncrono
async fn handler() {
std::thread::sleep(Duration::from_secs(1)); // BLOQUEADOR
}
// unwrap em código de biblioteca
pub fn parse(s: &str) -> User {
serde_json::from_str(s).unwrap() // BLOQUEADOR no crate de domínio
}
// unsafe sem comentário SAFETY
unsafe { ptr.read() } // BLOQUEADORcargo deny / aprovação da equipeCargo.lock ausente no bump de dependência de crate binário#[instrument] no novo limite de serviço assíncrono| Área | Procurar |
|---|---|
| Erros | Erros tipados, sem vazamento de internos em HTTP |
| Async | spawn_blocking para IO síncrono/CPU |
| SQL | Consultas parametrizadas, migração incluída |
| API | Alterações que quebram anotadas, bump de semver |
| Testes | Unitário + integração para caminhos de falha |
| Docs | Itens públicos documentados |
| Observabilidade | tracing em novos endpoints |
Faça perguntas ("Isso pode travar após await?") em vez de acusações. Link para seções do cookbook.
| Alternativa | Usar Quando | Não Usar Quando |
|---|---|---|
| Revisão em par | Unsafe/FFI complexo | Correção pequena rotineira |
| Bot LGTM + humano | Alto volume | Equipe apenas júnior |
| Revisão arquitetural | Novo serviço | Correção de erro de digitação |
Menos de 24 horas para PRs <400 linhas; o autor divide diffs maiores.
Obrigatório: ler o diff no GitHub antes de solicitar revisão.
Autenticação, criptografia, unsafe, novos parsers de entrada externa, dependência com aviso.
Versões da pilha: 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+.
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026