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:

https://code.msdn.microsoft.com/ASPNET-MVC-Application-b01a9fe8

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/

Renato Groffe

Atua como consultor em atividades voltadas ao desenvolvimento de softwares há mais de 13 anos. Bacharel em Sistemas de Informação, com especialização em Engenharia de Software. Microsoft Certified Technology Specialist (Web, WCF, Distributed Applications, ADO.NET, Windows Forms), Microsoft Specialist (HTML5 with JavaScript and CSS3, Developing ASP.NET MVC 4 Web Applications), Oracle Certified Associate (PL/SQL), Sun Certified (SCJP, SCWCD), ITIL Foundation V2, Cobit 4.1 Foundation.

Facebook Google+ 

Comentários

comentarios