Mentalidade de debug
A forma científica de achar e corrigir bugs
⏱ Estim. ~8 min
01 · Ler
Seu código vai quebrar. O código de todo engenheiro quebra. A diferença entre iniciantes e profissionais não é que profissionais escrevem código sem bugs — é que profissionais sabem como achar e corrigir bugs de forma sistemática.
Debug não é tentativa e erro aleatória. Não é mexer em coisas torcendo para o melhor. É método científico: observar, hipotetizar, testar, concluir.
Os engenheiros que parecem mágicos no debug não são mais inteligentes — eles só seguem um processo em vez de entrar em pânico.
💡 Imagine assimDebug é como ser um detetive. O crime (o bug) aconteceu. Você coleta evidências (mensagens de erro, logs), forma uma teoria (hipótese), testa (mudando uma coisa), e ou resolve o caso ou forma uma nova teoria. Você nunca prende alguém aleatoriamente torcendo para acertar.
02 · Passo a passo
Processo de debug — siga estes passos toda vez que encontrar um bug
1. REPRODUZIR (reproduce)
Você consegue fazer o bug acontecer de forma consistente? Se for aleatório, procure problemas de timing ou de estado. Se não conseguir reproduzir, não dá para ter certeza que corrigiu. Anote os passos exatos que disparam o bug.
2. ISOLAR (isolate)
Onde exatamente está dando errado? Reduza para um arquivo, função, linha específica. Use console.log ou mensagens de erro para apontar a localização. Quanto menor a área que você investiga, mais rápido você acha o problema.
3. HIPOTETIZAR (hypothesize)
O que você acha que está causando isso? Forme uma teoria antes de mudar qualquer coisa. "Acho que o bug é porque a gente acessa o índice 0 quando o array está vazio." Ter uma teoria mantém sua investigação focada.
4. TESTAR (test)
Mude uma coisa para testar sua hipótese. Nunca mude várias coisas de uma vez — se você muda três coisas e o bug some, você não sabe qual delas corrigiu. Essa disciplina aqui economiza horas mais tarde.
5. CORRIGIR (fix)
Aplique a correção com base no que você aprendeu. Uma boa correção trata a causa raiz, não só o sintoma. Se o array vazio crasha para o usuário, não esconda só o erro — trate o array vazio corretamente.
6. VERIFICAR (verify)
O bug original ainda acontece? Você quebrou alguma outra coisa? Teste a correção e depois teste o que está em volta. Uma correção que cria bugs novos não é uma correção de verdade.
03 · Ler
Vamos aplicar o processo na prática. Você herdou um app com um bug — uma API de contagem de visitantes. Ela crasha quando o usuário acessa o endpoint /api/stats. Sua missão: seguir o processo de debug para achar o bug.
04 · Prática de terminal
Passo 1: REPRODUZIR — leia o log de erro para entender o que deu errado. Mensagens de erro são suas melhores amigas. Elas geralmente te dizem exatamente o que aconteceu e onde.
(Esta seção é interativa — ative o JavaScript para usar.)
05 · Prática de terminal
Passo 2: ISOLAR — o erro aponta para count estar undefined na linha 7. Esse valor vem de getVisitorCount(). Leia o código para achar a função e ver onde está dando errado.
(Esta seção é interativa — ative o JavaScript para usar.)
06 · Ler
Aqui estão as regras de ouro do debug que vão te poupar incontáveis horas. Cole na tela se precisar.
Pontos-chave
- Não mude várias coisas de uma vez — você não vai saber o que corrigiu
- Leia a mensagem de erro — ela geralmente te diz o que deu errado e onde
- Acredite no erro, não nas suas suposições sobre onde está o bug
- Todo engenheiro faz debug. Engenheiros sêniores só fazem isso de forma mais sistemática.
07 · Preencher
O primeiro passo do debug é _____ o bug de forma consistente.
08 · Quiz
Qual é o primeiro passo do debug?
- Reproduzir o bug de forma consistente
- Mexer no código torcendo para dar certo
- Pedir para o Claude corrigir
- Apagar os arquivos e começar de novo
Outras lições deste capítulo
⚠ A experiência interativa completa precisa de JavaScript. Ative-o e recarregue a página.
※ Este é um projeto educacional independente — não é um produto oficial da Anthropic. Claude™ é uma marca registrada da Anthropic, PBC.