Executando verificação de segurança...
1

DICAS DE COMO MELHORAR A RESOLUÇÃO DE BUGS

Eai pessoal, blza? Sou Dev a pelo menos uns 3 anos e venho nessa estrada de me tornar melhor a cada dia.

Esses dias me deparei com uma situação que me chamou atenção, era um BUG do tipo que não consegui resolver(existem muitos desse kkkkk), passei horas a fio tentando determinar a causa ou pelo menos entender o como ou o porquê, mas nada feito.

Porém percebi que dentro do meu leque de habilidades que fui desenvolvendo ao longo do tempo, talvez essa(rastreio e resolução de bugs) seja a que menos cresceu.

Alguém saberia dizer se existe alguma plataforma na qual eu possa me aprimorar neste sentido?

Ps: Dicas de livros, artigos ou qualquer outro conteúdo serão muito bem vindas XD

Carregando publicação patrocinada...
1

No meu primeiro emprego eu cheguei a criar uma documentação no Notion mesmo, onde criava uma página/tópico para cada tipo de problema que acontecia e resolução que achei, para se acontecer no futuro ter essa base de dados.

Muito de bug que você deixa passar é por não conhecer 100% do sistema, e claro a falta de testes, você muda uma coisa, mas não sabe que afeta 10 lugares diferentes, e você olhou somente 8, tava funcionando então mandou pra produção, mas vai cair em alguma exceção que não passou no seu teste, ou o teste nem existe.

1

Você aprendeu a pesquisar e buscar resoluções em comunidades tipo aqui no TN, StackOverflow etc? Acredito que aprender a pesquisar pelos erros é o primeiro passo.

1

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.
1

Ai é método ciencífico. Tentativa e erro mesmo. Cria uma hipótese e testa a hipótese. Ao longo dos testes vc acaba aprendendo mais sobre o bug e consegue ir vendo padrões no comportamento da aplicação que vão apontando onde ta a causa raiz do problema.

Quer praticar? Puxa a responsa de investigar todo e qualquer bug que aparecer no trabalho. Se ficar muito bloqueado sempre pode pedir ajuda dos senior. Mas no geral acho que é isso

1

Depende muito do bug e do sistema que você está mexendo.

Geralmente gosto de entender todos os passos que levam até a reprodução do bug (entrar método por método), isso ajuda bastante e quanto mais você conhecer do sistema, mais fácil vai ser de encontrar o que pode ter ocasionado o bug, então, explore bastante.

Pra finalizar, tenta usar o Chat GPT também, coloca uma descrição do bug ou código do erro que aconteceu e pede pra ele explicar o que significa e sugestões de como resolver. Só cuidado pra não compartilhar regras de negócio com ele.