Ao inspecionar manualmente códigos desconhecidos (para revisar ou modificar), pareço ter três opções.
- Uma leitura de cima para baixo do código, escolhendo cada próximo arquivo de origem pelo quão fundamental o nome do arquivo parece. Normalmente, acabo lendo quase tudo. Alguns arquivos duas vezes.
- Uma leitura abrangente , onde encontro e leio todo o método de chamada com o mínimo de entendimento. Em seguida, leia todas as funções que a função chamou e assim por diante. Minha pilha mental tende a transbordar se eu fizer algumas chamadas profundas.
- Uma leitura aprofundada , na qual passo por todo o código em um depurador, sem saber se isso levará 8 minutos ou 8 horas.
Depois de ler o código o suficiente para ter uma compreensão bastante sólida do que está fazendo, geralmente reflito que li 80% ou mais da base de código, enquanto o código fundamental é 20% ou menos . Eu perdi muito tempo.
Quais ferramentas são úteis para obter uma rápida compreensão de códigos diferentes? Existe alguma ferramenta que possa fornecer uma "imagem geral" do caminho crítico do código e me permitir detalhar os detalhes de qualquer parte?