23 pontos por GN⁺ 2025-06-06 | Ainda não há comentários. | Compartilhar no WhatsApp
  • Assistentes de IA para programação não conseguem saber sozinhos a intenção do projeto, então a qualidade do resultado muda bastante conforme o quanto o desenvolvedor fornece de contexto, objetivo e exemplos
  • Em depuração, em vez de apenas jogar o código e o erro, é preciso fornecer também o comportamento esperado, o comportamento real e o ambiente de execução, além de reduzir o escopo do problema com rastreamento linha por linha ou um exemplo mínimo reproduzível
  • Em refatoração e otimização, em vez de pedir para “melhorar”, é necessário deixar claros os critérios de sucesso, como remoção de duplicação, processamento paralelo, manutenção do tratamento de erros e restrições de versão
  • Na implementação de novas funcionalidades, é mais seguro dividir e revisar em pequenas etapas — como planejamento, esqueleto, gerenciamento de estado, integração de API e casos de borda — do que pedir tudo de uma vez
  • Perguntas ambíguas, exigências excessivas, despejo de código sem pergunta e referências pouco claras prejudicam o resultado; a IA deve ser tratada não como um gerador de uso único, mas como um pair programmer conversacional e iterativo

Princípios básicos para usar bem assistentes de IA para programação

  • Assistentes de IA para programação podem ajudar com autocompletar de funções, sugestões de correção de bugs e até geração de módulos ou MVPs, mas a intenção específica do projeto depende das informações fornecidas pelo usuário
  • Um bom prompt trata a IA como uma “colaboradora que interpreta tudo literalmente” e orienta com clareza o resultado e o formato desejados
  • Os princípios básicos são os seguintes
    • Forneça contexto rico: inclua linguagem, framework, bibliotecas, funções relacionadas ou trechos de código, mensagens de erro exatas e comportamento esperado
    • Especifique o objetivo: em vez de “por que não funciona?”, restrinja a pergunta para algo como “por que esta função JavaScript retorna undefined em vez do valor esperado e como corrigir isso?”
    • Divida tarefas complexas: em vez de pedir uma funcionalidade grande de uma só vez, avance em sequência, como gerar o esqueleto de um componente React, adicionar gerenciamento de estado e integrar chamadas de API
    • Forneça exemplos de entrada e saída: exemplos como a entrada [3,1,4] que deve retornar [1,3,4] reduzem a ambiguidade dos requisitos
    • Defina um papel: dar um papel como “senior React developer”, “JavaScript performance expert” ou “code reviewer” pode ajustar a profundidade e o estilo da resposta
    • Itere e refine: se a primeira resposta não servir, ajuste a direção com pedidos seguintes, como usar laço em vez de recursão, melhorar nomes de variáveis ou adicionar comentários
    • Mantenha clareza no código: nomes significativos para funções e variáveis, formatação consistente, comentários e docstrings ajudam a IA a entender a intenção do código

Padrões de prompt para depuração

  • Um pedido de depuração deve incluir o que o código deveria fazer, o que de fato está errado e qual erro está ocorrendo
  • Um bom prompt de depuração normalmente inclui as seguintes informações
    • linguagem usada e ambiente de execução
    • código com problema
    • mensagem de erro exata ou saída incorreta
    • saída esperada
    • entrada de exemplo
    • métodos já tentados
  • Em bugs de lógica mais complexos, você pode pedir à IA um rastreamento de execução linha por linha para acompanhar as mudanças de estado
    • Exemplo: “nesta função, rastreie como o valor de total muda em cada etapa e encontre onde a acumulação está dando errado”
  • Mesmo que a base de código seja grande, se for possível criar um pequeno trecho que reproduza o bug, é melhor apresentá-lo como um exemplo mínimo reproduzível
  • Se a primeira resposta for apenas parcialmente útil, você pode continuar com perguntas como “mostre o código corrigido” ou “explique por que essa alteração resolve o problema”

Exemplo de depuração: pergunta ambígua e pergunta aprimorada

  • O código de exemplo é uma função Node.js/JavaScript mapUsersById(users) que tenta converter um array de usuários em um objeto indexado por ID
  • O bug é `for (let i = 0; i

Ainda não há comentários.

Ainda não há comentários.