Resumo
Contexto da aula na progressão do curso
Esta aula representa um ponto crucial no desenvolvimento de uma API REST com Node.js, focando em boas práticas de refatoração e documentação. Após construir a estrutura básica da aplicação, o momento agora é otimizar o código, eliminar redundâncias e preparar o projeto para manutenção e escalabilidade. A aula 12 consolida conceitos aprendidos em aulas anteriores sobre o padrão Repository, MVC e estrutura de projetos, levando o desenvolvedor a um nível mais profissional de implementação.
Refatoração do padrão Repository
O ponto de partida da refatoração é extrair a instância de Promise do arquivo Repository e centralizá-la em um único lugar: o arquivo conexao.js. Essa mudança segue o princípio DRY (Don't Repeat Yourself) e facilita manutenção futura. A const consulta é movida para a conexão e, depois, importada no Repository, permitindo que todos os métodos da classe reutilizem a mesma instância sem duplicação. Dessa forma, o código fica mais limpo, as requisições ao banco de dados são gerenciadas em um local único, e qualquer mudança na estratégia de conexão afeta apenas um ponto da aplicação.
Reorganização de arquivos e estrutura do projeto
Um aspecto importante da aula é a reorganização estrutural do projeto. O arquivo server.js, inicialmente na raiz do projeto, é movido para dentro da pasta /src, mantendo todos os arquivos de lógica juntos. Após essa mudança, é necessário atualizar o import no arquivo app.js para referenciar corretamente a nova localização de server.js. Além disso, o script dev no package.json precisa ser atualizado para apontar para o novo caminho, garantindo que o ambiente de desenvolvimento continue funcionando perfeitamente com o nodemon ou outra ferramenta de monitoramento.
Testes práticos das rotas com Insomnia
Após todas as refatorações, a aula enfatiza a importância de testar as rotas usando o Insomnia. Cada endpoint (index, show, store, update, delete) deve ser validado para garantir que a refatoração não introduziu nenhum bug. Os testes cobrem requisições GET, POST, PUT e DELETE, confirmando que o padrão Repository continua funcionando corretamente após a centralização da lógica de conexão. Essa etapa prática consolida o entendimento e demonstra que o código refatorado é tão funcional quanto o original.
Documentação com JSDoc
O JSDoc é introduzido como ferramenta essencial para documentar o código JavaScript de forma profissional. A documentação inline, usando comentários com a sintaxe JSDoc, permite que desenvolvedores entendam rapidamente o propósito de cada método, seus parâmetros e valores de retorno. Tags como @param e @returns descrevem argumentos e saídas, enquanto @description fornece contexto geral. Essa prática melhora significativamente a experiência de quem lê o código no futuro e facilita a colaboração em equipes.
Implementação de padrões de documentação
Durante a aula, são demonstrados exemplos práticos de como aplicar JSDoc aos métodos do Repository e Controllers. Cada método recebe comentários estruturados que documentam seu comportamento, facilitando a navegação e compreensão do código em IDEs modernas que reconhecem essa sintaxe. O uso correto de JSDoc não apenas melhora a legibilidade como também permite geração automática de documentação HTML se necessário, criando um recurso valioso para manutenção do projeto a longo prazo.
Considerações finais sobre refatoração
A aula encerra com discussões importantes sobre quando e como refatorar código. Refatoração não é apenas uma tarefa técnica, mas uma decisão estratégica que deve equilibrar qualidade, tempo e complexidade. A professora destaca que boas práticas implementadas cedo no projeto evitam débitos técnicos significativos mais adiante. O código refatorado nesta aula serve como base sólida para futuras expansões da API, implementação de novas features e possíveis otimizações de performance.
Próximos passos sugeridos
Com a refatoração completa e a documentação adequada, o projeto está pronto para evoluções mais avançadas. A estrutura MVC com Repository estabelecida aqui permite fácil adição de novos recursos, implementação de middleware de autenticação, validação de dados e tratamento de erros mais robusto. O desenvolvedor pode agora confiar na solidez da base técnica e focar em adicionar features de negócio com segurança e clareza.
O que você vai aprender
- Refatorar código eliminando duplicação em Repository
- Centralizar lógica de conexão em um único arquivo
- Reorganizar estrutura de diretórios sem quebrar imports
- Implementar JSDoc para documentar métodos e funções
- Testar rotas refatoradas usando Insomnia
- Aplicar boas práticas de manutenção de código
Conceitos abordados
Tecnologias utilizadas
Capítulos 8 marcações
Próximo vídeo sugerido
Avaliações
Ainda não há avaliações. Seja o primeiro a avaliar esta aula.