Você conhece o método chinês?
O método chinês é uma técnica de depuração manual, amplamente utilizada no meio acadêmico, mas especialmente útil quando precisamos analisar um código sem ter o apoio de um editor.
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:
Veja o vídeo na pagina completa<?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.
Sugestão de conteúdo
Artigos relacionados
-
DevCast
-
Artigo
-
Artigo
-
Artigo
-
Artigo