Início > Visual Studio > Verificando se métodos públicos estão sendo utilizados com Call Hierarchy

Verificando se métodos públicos estão sendo utilizados com Call Hierarchy

Algumas semanas atrás estávamos trabalhando com o Code Analysis validando os métodos da aplicação que não estão sendo utilizados e percebemos que o mesmo apenas sinaliza os métodos privados. Isto gerou um problema pois como iremos remover da aplicação os métodos públicos que não estão sendo utilizados?

A estratégia foi (olha a gambi!!)…

Comente o método público e compile, se der erro, o mesmo esta sendo utilizado em algum ponto. Esse método funciona muito bem, mas o esforço é alto. Então mais uma vez vem o Visual Studio 2010 e suas features para nos ajudar.

O Call Hierarchy consegue identificar dentro da sua Solution todos os pontos da aplicação que estão se referenciando o seu método ou propriedade.

Segue abaixo como utilizar:

Clique com o botão da direita do mouse em cima do nome do método a ser analisado e clique em View Call Hierarchy (ou CTRL+K, CTRL+T

A janela do Call Hierarchy ira abrir e dentro dela você encontrará o seu método como nó raiz seguido por uma pasta chamada Calls To… , que mostra todas as chamadas ao seu método, e a pasta Calls From…, que lista todas as chamadas que seu método faz.

Esta janela é muito interessando, porque você ainda pode filtrar a pesquisa por Solution, ProjectsDocument, pode atualizar a pesquisa e limpar os resultados, e acessar diretamente a referencia apenas dando um duplo click em cima dos métodos. Na janela da direita você visualiza em qual arquivo e linha as chamadas estão sendo feitas.

Um outro recurso muito útil é possibilidade de promover uma chamada encontrada para o nó raiz da pesquisa, clicando com botão direito do mouse em cima da referencia encontrada e clicando em Add As New Root.

O Call Hierarchy é um recurso muito útil para um Code Review, foi uma ótima idéia inventarem isso.

Espero que tenham gostado do artigo.

Francisco Gonçalves

Categorias:Visual Studio
  1. william
    5 de Outubro de 2010 às 16:49

    O View Call Hierarchy apenas não funciona nos casos em que ele é chamado por uma thread .. Ex: thread t = new thread(Metodo);

    ou nos casos de delegate.

    Não sendo localizacao.

  1. No trackbacks yet.

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão /  Alterar )

Google photo

Está a comentar usando a sua conta Google Terminar Sessão /  Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão /  Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão /  Alterar )

Connecting to %s

%d bloggers like this: