brainax

Bugs: lendo o erro

Aula 21 de 26 do curso “Vibe coding”. Grátis, com animações e teste.

Onde os erros moram

Bug é um erro no programa. Exemplo: no seu app de treinos você toca em “Salvar” e nada acontece. Os erros se escondem em três lugares. O Console no DevTools, as ferramentas de desenvolvedor do navegador (F12 no Windows, Cmd+Option+I no Mac): linhas vermelhas do código da página. A aba Network, no mesmo lugar: todas as requisições da página ao servidor. E os logs da hospedagem: o registro do que o servidor e o build fizeram.

Network e códigos de resposta

Você abre a Network, toca em “Salvar” e vê a linha do esquema: “POST /api/save 500”. POST é uma requisição que envia dados. /api/save é um endereço no seu servidor. 500 é o código de resposta. Cola: 200 tudo certo, 404 não encontrado (endereço errado), 401 e 403 sem acesso (não fez login ou não tem permissão), 500 erro no servidor. Ou seja, o botão não tem culpa: veja os logs do servidor.

Receita: do bug ao conserto

Passo 1: reproduza o bug de propósito e anote os passos. Passo 2: copie o erro inteiro, do console ou dos logs. Passo 3: passe ao agente o erro, os passos e o que você esperava. Passo 4: escreva “primeiro explique a causa, não mexa no código ainda”. Passo 5: o conserto e o seu teste. Passo 6: commit. O erro inteiro apareceu na aula sobre passar tarefas para a IA; aqui está o ciclo completo.

Pegadinha: “consertar” apagando

Um agente pode “consertar” um bug só tirando o que atrapalha. Exemplo: o salvamento falhava na checagem de que o usuário fez login. O agente apaga essa checagem. O erro some, mas agora qualquer um escreve nos treinos dos outros. Do mesmo jeito, agentes às vezes apagam um teste que falha ou escondem o erro. Olhe o diff: a linha vermelha “checagem removida?” no esquema é o sinal para perguntar “por quê?”.

Preso num loop? Volte atrás

Quinta tentativa e só piorou: o agente conserta uma coisa e quebra outra. Pare. Volte ao último commit que funcionava, como a seta “voltar” no esquema. Comece uma sessão nova: a antiga está cheia de tentativas falhas e o agente se enrola nelas. Descreva a tarefa de novo e menor: não “conserte o salvamento”, e sim “salve um treino com data”. Passo pequeno se conserta mais rápido.

Teste-se

  1. Na Network aparece “POST /api/save 500”. O que significa?
    Resposta certa: Erro no servidor: veja os logs do servidor. O código 500 indica erro do lado do servidor. 404 seria endereço errado, 401 ou 403 problema de acesso.
  2. O que é melhor escrever ao agente sobre um bug?
    Resposta certa: O erro inteiro, os passos e o que você esperava. Com o erro inteiro, os passos e o esperado, o agente vê o que quebrou e como deveria ser. Com “não funciona” ele só pode chutar.
  3. O agente “consertou” um bug apagando a checagem de login. E você?
    Resposta certa: Volto atrás e peço a causa real. Sem a checagem de login, qualquer um escreve nos dados dos outros. O erro sumiu, mas o problema piorou: precisa achar a causa, não tirar a proteção.

← Contexto: arquivo de regras e MCP Checagem: não acredite de cara →