O que parece ser uma adivinhação do lado de fora, muitas vezes acaba por ser o que eu chamo de "depuração em sua mente". De certa forma, isso é semelhante à habilidade dos grandes mestres de jogar xadrez sem olhar para um tabuleiro de xadrez.
É de longe a técnica de depuração mais eficiente que eu conheço, porque não requer um depurador. Seu cérebro explora vários caminhos de código ao mesmo tempo, gerando um melhor retorno do que você poderia obter com um depurador.
Eu não estava consciente sobre essa técnica antes de entrar brevemente no mundo da programação competitiva , onde usar um depurador significava perder preciosos segundos. Após cerca de um ano de competições, comecei a usar essa técnica quase exclusivamente como minha linha inicial de defesa, seguida de depuração de log, com o uso de um depurador real localizado no distante terceiro lugar. Um efeito colateral útil desta prática foi que eu comecei a adicionar novos bugs em um ritmo mais lento, porque "depuração em minha mente" não parou quando eu escrevi um novo código.
É claro que este método tem suas limitações, principalmente devido às limitações da mente de visualizar múltiplos caminhos através do código. Aprendi a respeitar essas limitações da minha mente, recorrendo a um depurador para corrigir bugs em algoritmos mais avançados.