MEU FLUXO COMPLETO: Construindo uma API de E-mails com Múltiplos Provedores usando Claude Code

Disclaimer

Este texto foi inicialmente concebido pela IA Generativa em função da transcrição de uma live do Dev Eficiente. Se preferir acompanhar por vídeo, é só dar o play.

Introdução

No desenvolvimento de software atual, a…


This content originally appeared on DEV Community and was authored by Alberto Luiz Souza

Disclaimer

Este texto foi inicialmente concebido pela IA Generativa em função da transcrição de uma live do Dev Eficiente. Se preferir acompanhar por vídeo, é só dar o play.

Introdução

No desenvolvimento de software atual, as ferramentas de LLM (Large Language Models) estão se tornando cada vez mais importantes para acelerar a produtividade. Mas como usar essas ferramentas de forma eficaz sem perder o controle sobre a qualidade do código? Neste post, vou compartilhar meu fluxo prático de desenvolvimento usando Claude Code para implementar um serviço de e-mails.

O Contexto: Implementando um Serviço de E-mails

O desafio proposto foi implementar um serviço de e-mails que expõe uma API HTTP para enviar e-mails. O sistema deve escolher automaticamente o provedor de e-mail baseado na configuração do cliente e respeitar prioridades em caso de falha.

Principais funcionalidades:

  • Endpoint para disparo de e-mail
  • Endpoint para configuração de provedores por cliente
  • Suporte a múltiplos provedores (Mailgun, SendGrid, SMTP)
  • Sistema de prioridades com fallback
  • Armazenamento de configurações e histórico de envios

Por Que Escolhi o Claude Code

Optei pelo Claude Code por algumas características específicas:

Transparência de uso: Funciona direto no terminal, permitindo ver exatamente quais "tools" (extensões) estão sendo utilizadas. Isso me ajuda a entender melhor o funcionamento do agente e, como consequência, posso tentar tomar ações que ajudem no funcionamento dele.

Controle de contexto: Oferece a possibilidade de sumarizar o contexto atual, diminuindo o nível de alucinação do modelo.

Facilidade de configuração: Não precisa de configurações extras, funciona diretamente pelo terminal. Para deixar claro, não é muito diferente de instalar um plugin na IDE. Só prefiro usar pelo terminal neste momento.

Meu Fluxo de Trabalho com LLM

1. Bootstrap, Não Automação Completa

O ponto mais importante do meu fluxo é entender que o LLM é para bootstrap, não para fazer o trabalho completo. Eu sei o que quero implementar e uso o LLM para materializar rapidamente a estrutura inicial.

De vez em quando essa estrutura já está quase completa.

2. Manter o Controle das Decisões de Design

Quando o LLM gerou código que feria minhas práticas de desenvolvimento, eu intervinha imediatamente. Por exemplo:

Problema identificado: O LLM criou um método que alterava o estado de um parâmetro passado por referência.

Minha solução: Mantive a prática de funções mais puras, adicionando um comentário para explicar a alteração de estado quando necessário.

3. Proximidade Operacional

Um princípio que sigo é manter as decisões sobre um dado o mais próximo possível da origem do dado. Quando o LLM sugeriu uma solução que colocava configurações distantes dos dados relacionados, eu refatorei para aproximar comportamento e estado.

4. Fluxo de implementação

Prefiro começar sempre do lado externo (controllers) para dentro (entidades), testando frequentemente. O LLM às vezes gera tudo de uma vez, o que pode complicar o troubleshooting quando algo dá errado.

Reforço do que Considero Importante

O LLM Não Substitui Conhecimento

Durante todo o processo, foi meu conhecimento técnico que guiou as decisões. O LLM acelerou a escrita do código, mas eu mantive controle sobre:

  • Arquitetura da solução
  • Práticas de código
  • Decisões de design
  • Tratamento de edge cases

Cuide do Tamanho do Contexto

À medida que o contexto do LLM crescia, percebi que ele começava a tomar decisões inconsistentes com o que havia sido estabelecido anteriormente. É importante limpar o contexto ou ser mais específico nas instruções.

Para mim é algo muito similar as relações humanas. Pouco contexto pode deixar sem direção, mas exagero pode trazer confusão. Precisa batalhar constantemente para fornecer o nível suficiente de informação.

Troubleshooting Diferente

Quando você usa LLM para gerar código, o troubleshooting muda. Em vez de construir incrementalmente e testar a cada passo, você recebe blocos maiores de código que podem ter problemas em múltiplas camadas.

Este é um ponto que eu sinto que preciso achar um caminho melhor. Gosto de codar de maneira bem iterativa, executando o código o máximo de vezes que posso. Só que controlar isso no LLM exigiria um esforço extra que não considero valer a pena no momento.

Práticas Recomendadas

1. Mantenha Suas Práticas de Código

Não abandone seus princípios de desenvolvimento só porque o LLM sugeriu algo diferente. Use-o como acelerador, não como substituto do seu julgamento.

2. Teste Frequentemente

Mesmo com código gerado por LLM, rode e teste constantemente. Quanto mais cedo você pegar um problema, mais fácil será identificar a causa.

3. Seja Específico nas Instruções

Quando o LLM não gerar o que você quer, seja mais específico. Em alguns momentos é mais rápido escrever na mão do que ensinar o LLM.

Aconteceu especificamente no caso onde tive que implementar o código para suportar múltiplos provedores de maneira facilitada.

4. Revise e Refatore

Código gerado por LLM precisa de revisão. Aplique suas práticas de refatoração normalmente.

Você não querer assumir responsabilidade por algo que você nem viu, não é?

Métricas do Experimento

O custo total do desenvolvimento foi de $2.50. Um investimento que considero muito baixo para a quantidade de código gerado.

Conclusão

Usar LLM no desenvolvimento pode ser extremamente produtivo quando você mantém o controle das decisões importantes. O segredo está em encontrar o equilíbrio entre acelerar a escrita de código e manter a qualidade e coerência da solução.

A ferramenta é excelente para bootstrap e estruturação inicial, mas sua experiência e conhecimento técnico continuam sendo fundamentais para guiar as decisões de design e garantir que o código final atenda aos requisitos de qualidade.

Dev+ Eficiente

Se você gostou deste conteúdo, conheça a Jornada Dev + Eficiente, nosso treinamento focado em fazer com que você se torne uma pessoa cada vez mais capaz de entregar software que gera valor na ponta final, com máximo de qualidade e eficiência.

Acesse https://deveficiente.com/oferta-20-por-cento para conhecer tudo que oferecemos.


This content originally appeared on DEV Community and was authored by Alberto Luiz Souza


Print Share Comment Cite Upload Translate Updates
APA

Alberto Luiz Souza | Sciencx (2025-06-17T22:27:10+00:00) MEU FLUXO COMPLETO: Construindo uma API de E-mails com Múltiplos Provedores usando Claude Code. Retrieved from https://www.scien.cx/2025/06/17/meu-fluxo-completo-construindo-uma-api-de-e-mails-com-multiplos-provedores-usando-claude-code/

MLA
" » MEU FLUXO COMPLETO: Construindo uma API de E-mails com Múltiplos Provedores usando Claude Code." Alberto Luiz Souza | Sciencx - Tuesday June 17, 2025, https://www.scien.cx/2025/06/17/meu-fluxo-completo-construindo-uma-api-de-e-mails-com-multiplos-provedores-usando-claude-code/
HARVARD
Alberto Luiz Souza | Sciencx Tuesday June 17, 2025 » MEU FLUXO COMPLETO: Construindo uma API de E-mails com Múltiplos Provedores usando Claude Code., viewed ,<https://www.scien.cx/2025/06/17/meu-fluxo-completo-construindo-uma-api-de-e-mails-com-multiplos-provedores-usando-claude-code/>
VANCOUVER
Alberto Luiz Souza | Sciencx - » MEU FLUXO COMPLETO: Construindo uma API de E-mails com Múltiplos Provedores usando Claude Code. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2025/06/17/meu-fluxo-completo-construindo-uma-api-de-e-mails-com-multiplos-provedores-usando-claude-code/
CHICAGO
" » MEU FLUXO COMPLETO: Construindo uma API de E-mails com Múltiplos Provedores usando Claude Code." Alberto Luiz Souza | Sciencx - Accessed . https://www.scien.cx/2025/06/17/meu-fluxo-completo-construindo-uma-api-de-e-mails-com-multiplos-provedores-usando-claude-code/
IEEE
" » MEU FLUXO COMPLETO: Construindo uma API de E-mails com Múltiplos Provedores usando Claude Code." Alberto Luiz Souza | Sciencx [Online]. Available: https://www.scien.cx/2025/06/17/meu-fluxo-completo-construindo-uma-api-de-e-mails-com-multiplos-provedores-usando-claude-code/. [Accessed: ]
rf:citation
» MEU FLUXO COMPLETO: Construindo uma API de E-mails com Múltiplos Provedores usando Claude Code | Alberto Luiz Souza | Sciencx | https://www.scien.cx/2025/06/17/meu-fluxo-completo-construindo-uma-api-de-e-mails-com-multiplos-provedores-usando-claude-code/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.