ROTA · 30 CLASSES · 1 GRUPOS
O Jeito Rust
Escreva APIs idiomáticas, modele contratos e refatore código com critérios verificáveis.
Pré-requisitos orientam, mas nunca bloqueiam. Sete classes são grátis com conta, nas três rotas.O ARCO DA ROTA
ORDEM RECOMENDADA
30 classes, do primeiro passo ao fechamento.
Cada classe informa a duração estimada. Os exercícios usam Rust na sua máquina. Você pode sair da ordem quando outro nó fizer mais sentido.
- 01Forma, feedback e refatoraçãoRust idiomático: contratos, não gosto pessoal
Separe correção, contrato público, idioma Rust e convenção local para revisar e refatorar com critérios verificáveis.
- 02Forma, feedback e refatoraçãorustfmt: automatize a forma, revise o design
Use rustfmt como forma compartilhada automática e mantenha decisões de API, algoritmo e contrato em uma revisão separada.
- 03Forma, feedback e refatoraçãoClippy como revisor, não como oráculo
Leia grupos e motivos de lints, confirme o risco no domínio e use refactor ou exceção local justificada sem tratar Clippy como oráculo.
- 04Forma, feedback e refatoraçãoLeia o diagnóstico inteiro: erro, nota e ajuda
Leia código, spans, notas e ajuda de rustc, reduza um reprodutor mínimo e confirme se a proposta preserva o contrato.
- 05Forma, feedback e refatoraçãoRefatore com rede de segurança: comportamento e forma
Caracterize o comportamento, refatore uma dimensão de ownership e prove valores e forma da API com testes e requisitos de fonte.
- 06APIs que parecem RustNomes de módulos, tipos e funções que desaparecem no uso
Escolha nomes de crates, módulos, tipos e funções que comunicam o contrato no ponto de uso sem repetição nem vagueza.
- 07APIs que parecem Rustnew, Default e construtores que preservam invariantes
Use new, Result e Default para construir valores válidos sem esconder falhas nem inventar padrões para dados transparentes.
- 08APIs que parecem RustOwnership na API: &str, &[T], valores e Cow
Escolha borrow, mutação e ownership na assinatura conforme a função lê, altera, armazena ou consome o valor.
- 09APIs que parecem RustBuilders e defaults sem estados parcialmente válidos
Modele configuração parcial em builders, valide em build e use Default somente para escolhas válidas.
- 10APIs que parecem RustMódulos, visibilidade e reexports como contrato público
Separe a organização interna da superfície suportada com módulos privados, pub(crate), pub use e internals selados.
- 11Conversões e tipos com intençãoFrom e Into: conversões infalíveis e coerência
Implemente From para conversões infalíveis, receba Into quando isso ajuda o chamador e respeite significado, coherence e SemVer.
- 12Conversões e tipos com intençãoTryFrom: validação na fronteira do tipo
Use TryFrom e erro tipado para validar na construção, manter invariantes depois do sucesso e separar regras locais de contexto externo.
- 13Conversões e tipos com intençãoAsRef, Borrow e Deref: contratos diferentes
Escolha AsRef para visões baratas, Borrow para consultas equivalentes e Deref somente para acesso transparente semelhante a ponteiros.
- 14Conversões e tipos com intençãoNewtypes: semântica nova sem custo de runtime
Use newtypes para separar significados, preservar invariantes, escolher traits e criar pontos locais de coherence sem prometer ABI indevida.
- 15Conversões e tipos com intençãoType-state quando a sequência realmente merece tipos
Modele sequências estáveis com type-state, transições que consomem self e métodos por estado, mas prefira enum para fluxos dinâmicos.
- 16Design de errosErros tipados em bibliotecas: variantes para decisões
Projete erros públicos com variantes ligadas às decisões do chamador, dados estáveis, non_exhaustive e uma política consciente de SemVer.
- 17Design de errossource e contexto: preserve causa, acrescente operação
Implemente Display e Error::source sem duplicação, acrescente contexto onde a operação é conhecida e apresente a cadeia uma vez.
- 18Design de errosthiserror: remova boilerplate sem esconder o contrato
Use thiserror para gerar Display, Error e From, sem delegar à macro a escolha de variantes, dados públicos ou política de conversão.
- 19Design de errosanyhow na aplicação: contexto na borda
Use anyhow em aplicações que relatam falhas, preserve erros tipados nas bibliotecas e acrescente contexto de operação sem lavar a causa.
- 20Design de errospanic, unwrap e expect: política baseada em invariantes
Escolha Result para falhas esperadas e panic para invariantes violadas ou suposições irrecuperáveis, com expect que declara a prova.
- 21Documentação, testes e ergonomiaDoc comments e exemplos que compilam
Escreva doc comments como contratos verificáveis de erros, panics e safety, com exemplos completos que rustdoc mantém compiláveis.
- 22Documentação, testes e ergonomiaTestes unitários, integração e propriedades do contrato
Teste comportamento público, bordas e propriedades sem acoplar a suíte à estrutura privada que uma refatoração precisa mudar.
- 23Documentação, testes e ergonomiaIntoIterator e coleções: APIs que aceitam o uso natural
Implemente IntoIterator para coleção própria, referência e referência mutável com itens e lifetimes corretos, sem criar iteradores desnecessários.
- 24Documentação, testes e ergonomiaTraits e callbacks: bounds mínimos e ergonomia do chamador
Escolha Fn, FnMut ou FnOnce pela quantidade de chamadas e pelo consumo das capturas, sem impor bounds que o corpo não usa.
- 25Fronteiras avançadasunsafe com contrato: safety comments e menor superfície
Reduza a superfície unsafe, escreva contratos Safety verificáveis e exponha wrappers seguros que preservam validade, alinhamento, aliasing e lifetimes.
- 26Fronteiras avançadasDesempenho medido: clones, alocações e hot paths
Meça alocações, clones, complexidade, cache, latência e throughput antes de mudar uma API ou reduzir clareza em um hot path.
- 27Fronteiras avançadasAPIs async: cancelamento, Send e trabalho bloqueante
Projete APIs async com ownership através de await, cancelamento seguro, Send somente quando necessário, trabalho bloqueante isolado e tarefas estruturadas.
- 28Refatoração e auditoria públicaRefatoração orientada a testes e invariantes
Caracterize comportamento público, registre invariantes e refatore uma dimensão por vez sem transformar goldens em testes de detalhes privados.
- 29Refatoração e auditoria públicaCode review de API pública: compatibilidade e SemVer
Revise caminhos, assinaturas, traits, enums, features e MSRV, e use SemVer para administrar o risco de mudanças públicas.
- 30Refatoração e auditoria públicaAuditoria final de uma crate pública
Execute uma auditoria limitada de API pública com evidências para tipos, erros, docs, testes, unsafe, desempenho, async e compatibilidade.
SUA PRIMEIRA CLASSE
Rust idiomático: contratos, não gosto pessoal
Separe correção, contrato público, idioma Rust e convenção local para revisar e refatorar com critérios verificáveis.
Entre para ler a aula, baixar o projeto e executar os testes com Cargo na sua máquina.
Começar pela rota →ESTA ROTA E TODAS AS OUTRAS
Qualquer plano abre os 126 nós.
Mensal R$19,90 · anual R$149 · lifetime R$499. Todos têm garantia de 7 dias.