Depurar causa raiz
- Reproduzir: obtenha o erro exato, o stack trace e os menores passos que o disparam. Se não conseguir reproduzi-lo, diga isso antes de chutar.
- Localizar: siga o stack trace até a linha com falha e, em seguida, leia para trás até onde o estado ruim foi criado.
- Hipotetizar: declare uma causa em uma frase. Verifique-a com um log, um teste ou lendo o código. Nenhuma correção antes que a causa seja confirmada.
- Corrigir uma vez, na fonte: use
grepem todos os chamadores da função que você toca; corrija o código compartilhado, não cada ponto de chamada. - Provar: adicione ou execute um teste que falhava antes da correção e passa depois, e reexecute os testes relacionados. Sem projeto de teste: compile o projeto afetado e percorra o caso de falha no código.
- Relatar: causa, correção, como foi verificado — três linhas.
Nunca: silencie o erro, adicione um try/catch cego ou tente novamente sem entender por que falhou.