Melhores Práticas de Linting e Formatação
Portões de qualidade de baixo atrito e alto sinal mantêm bases de código Rust consistentes sem discussões de revisão que geram atrito.
Busque em todas as páginas da documentação
Portões de qualidade de baixo atrito e alto sinal mantêm bases de código Rust consistentes sem discussões de revisão que geram atrito.
allow como débito técnico com um proprietário.cargo fmt --all --check na CI. Zero revisão manual de estilo.rustfmt.toml na raiz do workspace com edition = "2024". Corresponde à edição do Cargo.#[rustfmt::skip] sem comentário. Apenas exceções raras de FFI/layout.cargo clippy --workspace --all-targets -- -D warnings em PRs. Testes e benchmarks incluídos.--all-features. Código com cfg-gated é lintado.clippy.toml documenta APIs proibidas. Ex: proíbe std::env::var bruto em aplicativos.[lints.clippy] por crate para aplicativos vs. bibliotecas. Negação mais rigorosa de unwrap_used em binários.cargo clippy --fix. Sem mesclagens cegas de auto-correção.missing_docs = "warn" em crates de biblioteca publicados. Ratchet para negar ao longo do tempo.RUSTDOCFLAGS="-D warnings" no job de CI de doc. Links intra-doc quebrados falham na compilação.cargo test --doc --workspace.# Errors / # Safety em APIs falíveis e inseguras. Conformidade com as diretrizes da API.//! em nível de crate na raiz de cada biblioteca. Apresentação em crates.io e docs.rs.rust-toolchain.toml fixa componentes 1.97.0 + rustfmt + clippy. Paridade local/CI.Swatinem/rust-cache ou equivalente. Jobs de lint de menos de 5 minutos com cache aquecido.rust-version do manifesto. Não apenas o último estável.#[allow(clippy::...)] em nível de linha com comentário de motivo. Sem allows genéricos em nível de arquivo.forbid(unsafe_code) em crates de domínio; única crate FFI isenta. Documentado em ARCHITECTURE.fmt --check + clippy -D warnings + test em stable 1.97.0.
Comece com clippy padrão; habilite pedantic em novas crates se a equipe quiser idiomas mais rigorosos.
Lints em nível de aviso com ratchet; corrija arquivos tocados por regra de PR.
Visualização opcional; o portão principal permanece em stable fixado.
Equipe de plataforma ou líder técnico; alterações via PR com aviso da equipe.
Sempre execute cargo fmt após resolver conflitos.
Exclua de rustfmt/clippy via caminhos de ignorar; nunca edite manualmente fontes geradas.
Menos comentários de estilo na revisão; taxa de CI verde mais rápida; declínio de capturas de clippy em postmortems.
Job separado: licenças, avisos, dependências duplicadas - complementa clippy.
Desenvolvedores ainda recebem feedback da CI; recomendamos fortemente check.command = clippy nas configurações.
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+.
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026