Creio que não haja uma formula mágina, pois há um número inimaginável de bugs e problemas rs. Porém, no meu trabalho uma porcentagem considerável de tarefas que mexo envolvem bugs.
Vou compartilhar contigo algumas dicas do que vem me ajudando:
- Conheça as integrações: Em alguns casos, não sabemos de imediato em qual projeto o bug está. Será necessário que você saiba quais projetos se interligam e como, para ao menos entender em qual projeto você pode dar uma olhada.
- Ferramentas de monitoramento: Se o projeto em que estiver trabalhando está em um sistema de monitoramento como Datadog, LogRocket, entre outros, busque logs que te ajudem a entender ou reproduzir o problema.
- Reproduza o bug: O bug normalmente só encontrado, pois alguém o reproduziu. Pensando nisso, tente pegar o máximo de insumos possíveis para reproduzí-lo, seja vídeo, imagem, logs ou dados do usuário.
- Ferramentas de Debbug: É extremamente valioso entender uma ferramenta de debbug, pois diminui drasticamente o tempo de investigação.
- Identificou o arquivo ou tem uma suspeita: Adicione logs de cima a baixo no código (caso não tenha seguido ir pelo debbug) e na medida que for entendendo as variáveis/funções, adicione comentários pra te lembrar o que aquele pedacinho de código faz. Dessa forma fica mais fácil entender se você está ou não testando o arquivo certo e até mesmo para pesquisar algo que você ainda não tem conhecimento, como uma biblioteca ou método da própria linguagem.
- Verificação de dados e tipos: Verifique todos os dados retornados de uma função/variável para entender se algum dado pode estar faltando, vindo com o tipo errado ou o retorno não está completo.
- Busque por todos os resultados: Caso você identifique um bug e eles esteja em uma variável ou função, faça uma busca pelo projeto pra ter certeza que você modificou
- Se não tiver contexto, questione: Caso esteja mexendo em um projeto que tenha pouco contexto, entre em contato com um dev com mais tempo de casa (seja para uma conversa async ou um pair programming) para ter conhecimento sobre as regras de negócio. Em alguns casos, a falta de conhecimento das regras de negócio pode te impedir de reproduzir, encontrar ou resolver um bug, pois pra você as lógicas inseridas no código não farão sentido ou se tornarão muito complexas.