Ao contrário da cognição humana, as máquinas não podem usar heurística (normalmente) para adivinhar o que significa uma instrução mal escrita, por isso é melhor saber como lidar com a depuração.
Erros lógicos ou semânticos: Erros de implementação: Erros de digitação e erros simples: Erros de sintaxe: Desenvolvimento incrementalVisualização: Use depuradores: Simplificação do problema: Agrupamento de bugs: Retrocesso: É bastante simples: o desenvolvedor começa com o erro e volta no código para descobrir onde o problema começou.
Essa é apenas uma pequena amostra de literalmente centenas de métodos e estilos usados para depurar código. Como você pode ver, muitas dessas estratégias (quase todas elas, na verdade) fazem com que os desenvolvedores revisem o código repetidas vezes, e é aí que reside o potencial de depuração.
À medida que a equipe de desenvolvedores revisa o código e procura a origem de um bug, eles se verão olhando para seu trabalho anterior sob uma nova luz e, como qualquer mudança de perspectiva, isso pode levar a melhorias tanto na estrutura do código quanto no eficiência do software. É como ajustar um motor!
Qual o papel do cliente?
Acredite ou não, o cliente é tão importante quanto o desenvolvedor na depuração, principalmente no desenvolvimento incremental ou quando se trabalha com equipes ágeis, os clientes em todos os sentidos são testadores, na verdade, eles são os melhores testadores porque são aqueles que sabem o que eles realmente querem.
Portanto, quando um cliente detecta um bug em primeira mão, sua contribuição ajudará a equipe de desenvolvimento a encontrá-lo e eliminá-lo. Dessa forma, o cliente deve sempre reportar o bug com o máximo de detalhes possível, e caso a equipe esteja utilizando uma ferramenta de coleta de dados, o cliente deve aceitar e enviar o report. Quanto mais informações forem compartilhadas com a equipe, maiores serão as chances de a depuração ser mais rápida e eficiente.
O desenvolvimento de software é um sistema de relações entre a equipe, o cliente e a própria tecnologia. O sucesso de um projeto se deve em grande parte à forma como esse sistema se comunica. Se deixarmos de ver a depuração como uma colcha de retalhos devido a um péssimo trabalho e passarmos a vê-la como mais uma forma de comunicação dentro do sistema, estaremos construindo uma rede de melhorias que acabará criando o melhor produto.