Checklist de Auditoria de Código
Auditoria rápida de saúde antes de aquisição, rotação de plantão ou refatoração importante.
Como Usar Este Checklist
- Pontue itens não marcados como débito com severidade.
- Execute trimestralmente em serviços de produção.
- Use em conjunto com
cargo audit,clippy, relatório de cobertura.
Build e Dependências
- Toolchain fixada -
rust-toolchain.tomlcorresponde ao CI 1.97.0. - Cargo.lock commitado para aplicativos.
cargo auditlimpo ou exceções documentadas.- Nenhum crate "yanked" no lockfile.
- Principais dependências duplicadas rastreadas (
cargo tree -d).
Qualidade do Código
- clippy -D warnings passa no main.
- fmt --check passa.
- Contagem de
unwrapem tendência de queda (rg 'unwrap\(' --type rust). unsafeisolado e documentado.- TODO/FIXME têm proprietários e datas.
Arquitetura
- Crate de domínio livre de importações de
axum/sqlx. - Handlers com ~50 linhas ou serviços extraídos.
- Erros tipados, não strings nas fronteiras.
- Configuração validada na inicialização.
- Migrações versionadas e aplicadas no pipeline de deploy.
Operações
- Endpoints de saúde e prontidão existem.
- Desligamento gracioso testado.
- Logs estruturados com IDs de trace/requisição.
- Métricas de latência e taxa de erro.
- Runbooks vinculados do README.
FAQs
Pontuação de aprovação?
Zero críticos (segurança/confiabilidade); planejar o restante dentro do trimestre.
Automatizar?
Script de contagens rg + badges de CI na documentação de auditoria.
Exceção para legado?
Documentar crate excluído com data de desativação.
Auditoria de código aberto?
Adicionar verificações de política de LICENSE, SECURITY.
Pós-auditoria?
Tickets abertos para cada item não marcado com prioridade.
Comparar equipes?
Usar o mesmo checklist para pontuação consistente.
Incluir documentação?
Lint de links quebrados; ADR ausente para escolhas importantes.
Seção de performance?
Última data de perfil documentada; SLO declarado.
Scan de segredos?
gitleaks/trufflehog em CI recomendado.
Uso em onboarding?
Novo líder técnico executa a auditoria na primeira semana.
Relacionados
- Checklist de Decisão de Arquitetura
- Decisões de Refatoração
- Gerenciamento de Dependências
- Melhores Práticas de Linting e Formatação
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+.