DEV Community

rodbv
rodbv

Posted on

As 9 (ou 10) regras para debugar qualquer problema no seu código

Tem um livro pouco conhecido chamado "Debugging: The 9 Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems", que eu li no início da minha carreira e que teve impacto tão grande quanto Clean Code, o livro azul do DDD etc, e que eu uso muito mais no dia-a-dia, vou falar sobre ele aqui:

O autor é um engenheiro eletrônico e ele destilou 9 regras para debugar qualquer coisa. Aqui vão as regras:

  1. Entenda o sistema: antes de tudo, entenda o contexto onde está o código que você quer debugar. De onde vem a chamada? pra onde vai? quando foi mudado pela última vez? tava funcionando? o que mudou desde então? você entende o código/linguagem/framework? se não, o que fazer?

  2. Veja o erro acontecer: às vezes a gente já sai querendo consertar baseado em hipóteses sem ter de fato feito o erro acontecer. Mas aí caímos no erro de um falso positivo, achamos que consertamos o problema depois de mexer aqui e ali, mas será que não foi coincidência?

  3. Pare de pensar e olhe: antes de criar hipóteses mil, dá uma olhada com calma no código. Tem alguma coisa ali que pode indicar a origem do problema? onde você ou alguém mexeu por último? tem algum ponto do código que parece mais propenso a falhas?

  4. Divida e conquiste e

  5. Mude uma coisa de cada vez
    Esses são relacionados: mude as coisas aos poucos, e sempre que mudar algo e não gerar o resultado esperado, desfaça a mudança! tenha sempre só uma variável/hipótese sendo testada. Isso é fundamental.

  6. Anote o que você aprendeu. O que deu certo? o que deu errado? anote pois você ou alguém pode precisar disso no futuro. Escreva algo na issue, ou compartilhe no Slack, Wiki, ou nas suas anotações pessoais.

  7. Cheque a tomada: quem já deu suporte em provedor de net sempre pedia pro cliente primeiro checar os plugues. E na minha experiência uns 10 ou 20% dos problemas era isso. Cheque se o serviço está online, se o disco não está cheio, essas coisas "óbvias" que a gente acaba pulando

  8. Peça uma segunda opinião. Tá empacado? experimenta explicar o problema pra alguém. Ou pra sua xícara de café. Ou então dá uma passeada, volta e explique para você mesmo o que você está vendo acontecer (não o que você acha). "Metade da resposta está na boa pergunta".

  9. Se você não consertou, não está consertado. O erro parou de acontecer? não sai comemorando. OK, se for de madrugada e quiser voltar a dormir tudo bem, mas saiba que se você ou alguém não consertou, ele vai acontecer de novo. Não se iluda!

Ah, e pra quem é dev eu adiciono a regra zero: Leia e entenda a mensagem de erro!

As vezes a solução já tá ali! A gente fica tão estressado com a fonte vermelha dizendo "error" que já quer sair correndo pra mexer sem de fato entender o que tá escrito no erro..leia com calma!

Top comments (0)