Você está deslogado

O método chinês de depuração

O método chinês é uma técnica de depuração manual de algoritmos que consiste do acompanhamento e registro do estado das variáveis no papel.

Essa técnica é muito empregada no meio acadêmico quando os alunos de TI estão tendo o primeiro contato com algoritmos e códigos, mas também é bastante útil, por exemplo, quando estamos realizando provas escritas em concursos/processos seletivos.

Abaixo você pode ver um exemplo de aplicação do chinês em uma das questões da última prova de programação usada no processo seletivo para programador aqui da DevMedia:

Questão Vamos aplicar o método chinês Primeiro passo: identificar as variáveis/valores Em seguida devemos preencher a tabela com os valores em passo do algoritmo Linha 2: $i = 3 Linha 4: $i <= 5 é verdadeiro Linha 5: $i % 2 vale 1 Linha 8: a variável $i é decrementada em 1 Linha 4: $i <= 5 é verdadeiro Linha 5: $i % 2 vale 0 Linha 6: a variável $i é incrementada em 2 e passa a valer 4 Linha 4: $i <= 5 é verdadeiro Linha 5: $i % 2 vale 0 Linha 6: a variável $i é incrementada em 2 e passa a valer 6 Linha 4: $i <= 5 é falso Linha 12: a variável $i é incrementada em 1 e passa a valoer 7 Finalmente, o valor impresso na linha 14 é 7
#PraCegoVer - Transcrição dos Slides Qual valor será impresso pelo código abaixo?
<?php
$i = 3;
while ($i<=5) {
if (($i%2)==0){
$i = $i+2;
}else{
$i--;
}
}
$i++;
echo $i;
?>

Vamos aplicar o Chinês para descobrir o resultado
Primeiro passo: identificar quais variáveis/valores serão avaliados
Em seguida devemos preencher a tabela com os valores em passo do algoritmo
Linha 2: $i = 3
Linha 4: $i <= 5 é verdadeiro
Linha 5: $i % 2 vale 1
Linha 8: a variável $i é decrementada em 1
Linha 4: $i <= 5 é verdadeiro
Linha 5: $i % 2 vale 0
Linha 6: a variável $i é incrementada em 2 e passa a valer 4
Linha 4: $i <= 5 é verdadeiro
Linha 5: $i % 2 vale 0
Linha 6: a variável $i é incrementada em 2 e passa a valer 6
Linha 4: $i <= 5 é falso
Linha 12: a variável $i é incrementada em 1 e passa a valor 7
Finalmente, o valor impresso na linha 14 é 7

Baseado nessa técnica você pode desenvolver variações e seguir a ideia para avaliar, por exemplo, seu modelo de dados. Para isso você pode gerar valores fictícios e colocar seu modelo à prova, fazendo questionamentos para saber se ele atende suas necessidades.

Além disso, saber fazer a depuração manual lhe ajuda a entender como usar os mecanismos de depuração presentes em IDEs como Delphi e Visual Studio.

E aí, o que achou? Você usa esse método no seu dia a dia? Compartilhe conosco suas experiências.