Pergunta

Eu tenho uma solução independente (nenhuma das DLLs é usada em qualquer outro projeto, então não se preocupe com métodos sendo usados ​​em outro lugar).

Estou tentando descobrir uma maneira de determinar cada método/propriedade que não está em uso.

Portanto, não posso apenas olhar para métodos/propriedades privadas, preciso também verificar métodos e propriedades públicas.

Eu usei um programa no passado que fazia isso, mas apenas para Métodos/Propriedades Privadas (coisas que ele garante não foram usadas por outro projeto).Mesmo que eu conseguisse lembrar o que era, não atendia às minhas necessidades.

Examinei o nDepend, mas não tenho certeza se isso é algo padrão no aplicativo ou se precisarei escrever uma instrução CQL personalizada para ele.

Alguém conhece um aplicativo que faz isso, ou se o nDepend puder fazer isso, quão difícil seria fazer isso no nDepend?

Foi útil?

Solução

O Resharper pode fornecer esse tipo de informação se você ativar análise ampla da solução.

Outras dicas

Sim - eu diria que o NDepend é a ferramenta preferida para esse tipo de análise de dependência.

Ele vem com muitas consultas CQL predefinidas para fazer exatamente esse tipo de coisa, e é muito simples escrever as suas próprias, com base nas existentes como modelos.

Na forma mais simples, uma consulta CQL para detectar métodos não utilizados pode ser assim:

SELECT 
  METHODS         // Get me a list of methods
WHERE 
  MethodCa == 0   // Where their afferent coupling is zero, (afferent coupling being the number of other methods that call it)

Este é apenas um exemplo para mostrar a aparência do CQL.Uma consulta mais avançada para encontrar métodos não utilizados é fornecida com NDepend.

Ver Blog de Patrick Smacchia para mais informações.

No geral, outras ferramentas (FxCop e Resharper) também podem ajudar nisso, mas esse tipo de análise de dependência é a razão de ser do NDepend.

Code Analysis (FxCop) também pode localizar métodos e propriedades não utilizados.Ele irá gerar avisos no sentido de "nenhum chamador upstream usa isso, considere removê-lo"

Isso está integrado ao Visual Studio 2010 Ultimate.Eu uso-o.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top