Visualizando as dependências de um projeto através da ferramenta NDepend

NetCoders
netcoders
Published in
4 min readJul 25, 2015
ndepend-logo

Em um post anterior apresentei a ferramenta NDepend, uma solução totalmente integrável ao Visual Studio e que tem por meta auxiliar profissionais de desenvolvimento .NET na obtenção de um código de maior qualidade. Embora se trate de uma alternativa que dependa da aquisição de licenças, o NDepend disponibiliza uma versão de avaliação que pode ser utilizada durante um período de 14 dias.

Dentre os recursos oferecidos pelo NDepend é possível destacar:

  • Funcionalidades de análise capazes de determinar a qualidade do código de um projeto ou solução, com a produção de gráficos detalhando os resultados encontrados;
  • A comparação entre diferentes versões de um mesmo arquivo de código-fonte, permitindo assim a visualização das modificações realizadas;
  • Meios para a elaboração de relatórios de integração contínua, com dados obtidos durante o processo de build de aplicações;
  • O mecanismo conhecido como CQLinq (Code Query over LINQ), o qual torna possível a realização de consultas para análise de código a partir de expressões LINQ;
  • A existência de diagramas para a visualização da arquitetura existente, algo que pode ser de extrema valia na identificação das dependências dentro de um projeto;
  • A detecção de dependências cíclicas (algo a ser evitado) entre os diferentes componentes que formam uma solução;
  • Análises da cobertura de código, as quais seriam úteis para efeitos de testes.

O objetivo deste novo artigo é apresentar, resumidamente, de que maneira o NDepend pode ser utilizado na visualização das dependências em soluções criadas com o Visual Studio. Este tipo de recurso pode ser de grande valia para Desenvolvedores e Arquitetos, já que permite aos mesmos um melhor entendimento acerca da forma como um projeto foi estruturado.

Exemplo de utilização

Para a demonstração proposta por este artigo será utilizada a versão 6.0 da ferramenta NDepend, o Microsoft Visual Studio Professional 2013 Update 4 como IDE de desenvolvimento, além do projeto “Contoso University Web Application”. Este último nada mais é do que uma solução fornecida pela própria Microsoft, tendo por intenção detalhar o uso do Entity Framework Code First em uma aplicação MVC 5. O download do código-fonte pode ser realizado através do seguinte link:

Uma vez descompactado o projeto de testes compilar o mesmo, a fim de permitir a geração dos assemblies que fariam parte de um eventual deploy. Será a partir de tais arquivos que o NDepend conseguirá efetuar uma análise das dependências existentes.

A instalação do NDepend fará com que um menu desta ferramenta seja criado no Visual Studio. O primeiro passo para possibilitar a análise das dependências da aplicação de exemplo será acessar o menu “NDEPEND” e, em seguida, a opção “Attach New NDepend Project to Current VS Solution” (Imagem 1).

ndepend-pt2-01

Imagem 1. Acessando o NDepend a partir do Visual Studio 2013

Aparecerá então uma tela na qual serão listados os projetos encontrados (Imagem 2). Acionar a opção “Analyze a single .NET Assembly”, fechando em seguida a janela e o browser que forem abertos automaticamente (no caso, um resumo com uma série de análises).

ndepend-pt2-02

Imagem 2. Tela para seleção a execução de uma análise

Voltando ao menu do NDepend, acionar a opção “Graph” e na sequência o item “View Dependency Graph” (Imagem 3).

ndepend-pt2-03

Imagem 3. Acessando a opção para visualização das dependências

Neste momento será exibido um gráfico com todas as dependências encontradas para o projeto ContosoUniversity (Imagem 4). Posicionar o mouse sobre um dos elementos possibilitará a visualização de maiores detalhes a respeito da dependência em questão.

ndepend-pt2-04

Imagem 4. Gráfico com as dependências do projeto ContosoUniversity

Além da funcionalidade demonstrada neste artigo, o NDepend conta com muitos outros recursos que podem ser úteis no dia-a-dia de Desenvolvedores. Maiores detalhes sobre as opções oferecidas por esta ferramenta podem ser obtidos na seção “Referências”.

Até uma próxima oportunidade!

Referências

NDepend
http://www.ndepend.com/

NDepend Product Features
http://www.ndepend.com/features/

--

--