NDependência

O Gráfico de Dependência NDependência no Visual Studio

Se for um programador .NET, então é extremamente provável que seja um utilizador do Visual Studio. Existem alternativas a ele, claro. Mas o produto do gigante Redmond é o go-to quando se trata de desenvolver para a estrutura .NET.

Para um recém-chegado, no entanto, as coisas podem tornar-se confusas uma vez que o Visual Studio não é uma única coisa.

Em vez disso, vem em várias formas e tamanhos.

Quem deve escolher? Quais são as características que importam para o seu caso de uso?

P>Visto que o Visual Studio não é gratuito, a maioria das edições não são, pelo menos – você quer ter o melhor estrondo pelo seu dinheiro.

É isso que este post vai cobrir. Como o seu título sugere, vamos concentrar-nos nas diferenças entre as edições empresariais e profissionais do ambiente de desenvolvimento integrado (IDE).

Até ao fim do post, terá aprendido o suficiente para tomar uma decisão informada sobre qual a versão do IDE que melhor se adequa às suas necessidades.

Desejando que a sua edição do Visual Studio tenha suporte completo de ferramentas de arquitectura?

Download uma versão experimental gratuita de NDependentes e verifique toda a visualização de arquitectura que pode obter sem necessidade de actualizar a sua edição VS. Veja também: Estudo de caso: 2 Princípios simples para alcançar a manutenção de código elevado

P>Deixamos começar.

Enterprise vs. Professional: Qual é o Visual Studio certo para si?

Para compreender as diferenças entre as edições profissionais e empresariais do Visual Studio, deve primeiro ter em mente que a Microsoft oferece o IDE de forma escalonada.

  1. Visual Studio Community é o mais barato (é gratuito).
  2. Next é Visual Studio Professional.
  3. E, finalmente, o Visual Studio Enterprise é o mais rico e o mais caro.

Cada edição tem todas as características da edição abaixo dela, mais as adicionais.

Então a questão “quais são as diferenças entre Visual Studio Enterprise e Professional” equivale realmente ao que o primeiro pode fazer que o segundo não pode. Assim, veremos isso.

Características que Só o Visual Studio Enterprise tem

Vejamos as características exclusivas do Visual Studio Enterprise, repartidas em categorias.

Características do Ambiente de Desenvolvimento Integrado

Comecemos por cobrir as características relacionadas com o próprio IDE. O Visual Studio Enterprise tem um enfoque particular nos arquitectos de software, pelo que esta edição tem obviamente várias características relacionadas com a arquitectura de software.

1A. Validação e Análise Arquitectónica

Figura este cenário.

Desenvolve-se uma aplicação que segue o padrão arquitectónico em camadas n. Por isso, gostaria de evitar que a camada de apresentação acedesse directamente à camada de dados. Pretende-se permitir o acesso apenas à camada de lógica empresarial.

Desde a versão 2010 do Visual Studio Enterprise, é possível efectuar a validação arquitectónica numa aplicação utilizando diagramas de camadas arquitectónicas. Poderá integrar essa validação no seu processo de construção, por exemplo. Se uma classe referenciasse um namespace em alguma camada que não fosse suposto aceder, a construção falharia.

Na última versão, esta funcionalidade foi também melhorada para oferecer validação de dependência ao vivo. Em vez de ter de esperar que a construção se quebre, o Visual Studio, empregando o poder dos analisadores Roslyn, dar-lhe-á feedback em tempo real sempre que estiver prestes a introduzir uma dependência inválida.

Gráfico de Dependência e Matriz de Dependência

1B. Detecção de duplicação de código

A duplicação de código é um dos piores problemas de uma base de código. O Visual Studio Enterprise pode ajudar os programadores e arquitectos lá fora a lidar com este problema com uma funcionalidade conveniente: análise de clones de código. Com esta funcionalidade, o Visual Studio pode localizar possíveis duplicações de código para que as possa eliminar.

Debugação e Diagnóstico Avançado

Desenvolvedores passam uma quantidade considerável de tempo no depurador. Portanto, vamos verificar as características exclusivas do Visual Studio Enterprise para este domínio.

A primeira característica aqui é IntelliTrace. Em vez da tradicional depuração em tempo presente, o IntelliTrace permite-lhe depurar uma execução passada da sua aplicação. Pode guardar dados IntelliTrace de muitas fontes diferentes, incluindo uma aplicação implementada na produção!

Também no domínio da depuração, temos a integração de depuração do Code Map.

Esta funcionalidade oferece um novo tipo de experiência ao depurar, permitindo-lhe visualizar o método actual – e também os métodos anteriores chamados – como diagramas que se integram com o depurador e se actualizam em tempo real à medida que passa pelo seu código.

Finalmente, chegamos à Análise de Depuração de Memória .NET. Esta funcionalidade permite-lhe analisar ficheiros de despejo de memória para identificar e corrigir problemas de desempenho, tais como fugas de memória ou alocações desnecessárias.

Testing Tools

Estamos finalmente em ferramentas de teste. Esta área é, sem dúvida, aquela em que o Visual Studio Enterprise supera as outras edições do IDE. Começaremos por falar de algumas das características relacionadas com os testes unitários automatizados e depois procederemos à cobertura de características que podem ajudar nos testes manuais, exploratórios e de IU.

3A. Testes automatizados

Testes unitários

Comecemos com os Testes unitários em tempo real.

p>Teste é onde o Visual Studio Enterprise supera outras edições do IDE. Ao activar esta funcionalidade, o Visual Studio executará automaticamente testes unitários afectados pelas alterações que acabou de fazer à sua aplicação e apresentar-lhe-á os resultados em tempo real. Esta funcionalidade suporta as estruturas NUnit, xUnit.net, e MSTest.

Desde que estamos a falar de testes unitários, vamos agora virar a nossa atenção para um tópico que certamente suscitará alguma controvérsia: cobertura de teste.

Talvez pense que chegar a 100% da cobertura de código é vital para a saúde de uma aplicação, ou talvez não o faça. Mas é muito provável que concorde que conhecer os dados de cobertura do teste é útil. Visual Studio Enterprise oferece-lhe esta métrica nativamente.

Quando pretende escrever bons testes unitários, um objectivo que deve sempre esforçar-se por atingir é o isolamento. Um bom teste unitário deve ser mantido tão separado e independente quanto possível, não só de outros testes mas também de preocupações com infra-estruturas. Detalhes como o relógio ou a linguagem da máquina não devem interferir com o resultado do teste.

Propor tal isolamento nem sempre é fácil. Visual Studio Enterprise tenta resolver esse problema com Microsoft Fakes.

Microsoft Fakes permite-lhe utilizar stubs e calços para simular dependências externas no seu código.

Um caso clássico de utilização para isso seria simular uma data específica para testar um bug sensível ao tempo. O Visual Studio Enterprise pode ir além mesmo disso. Através do IntelliTest, é possível gerar automaticamente um conjunto de testes unitários para o seu código, juntamente com dados de testes falsos.

Testes automatizados de IU

E que tal testes automatizados que não são testes unitários?

Visual Studio Enterprise também pode atender a essas necessidades. Com testes de IU codificados, é possível criar testes automatizados que conduzem a aplicação através da sua interface de utilizador. Fá-lo-ia gravando um teste manual e guardando-o. Após o teste ser gravado, pode especificar valores para parâmetros e afiná-lo usando um editor especial.

3B. Testes manuais

Uma base de código não deve viver apenas de testes automatizados. Os testes manuais são ainda uma parte vital de uma estratégia de qualidade abrangente, e o Visual Studio Enterprise também pode atender a essas necessidades.

e a principal ferramenta utilizada para o fazer é o Microsoft Test Manager, que é uma solução abrangente que permite ao seu utilizador completar as seguintes tarefas:

  • gravar e reproduzir acções realizadas durante a exploração (ou seja sessões de teste
  • criar e gerir planos de teste para testes manuais
  • copiar conjuntos de testes e casos de teste em muitos projectos
  • registar e recolher dados sobre sessões de teste manuais planeadas

Ao empregar esta funcionalidade, um programador, testador, ou analista de testes pode ter uma visão muito ampla sobre o que está a acontecer no projecto, em termos de teste. Pense nisso como um painel de controlo centralizado em todas as coisas relacionadas com os testes.

Visual Studio Professional Vs. Visual Studio Enterprise: O Veredicto

Microsoft oferece o Visual Studio sob um modelo de ofertas escalonadas. Assim, analisar as diferenças entre Visual Studio Professional e Visual Studio Enterprise (respectivamente o segundo e terceiro níveis) equivale a cobrir as características presentes no último mas ausentes no primeiro. E foi o que fizemos neste post.

Sure, não mencionámos todas as características exclusivas do Visual Studio Enterprise, por uma questão de brevidade. Mas estou confiante que o artigo deixou claro que o Visual Studio Enterprise se dirige principalmente a arquitectos de software e especialistas em QA.

Então, qual é o veredicto?

Eu diria que não pode correr mal com o Visual Studio Professional. É uma excelente escolha para a maioria dos programadores. No entanto, para os arquitectos de software, Visual Studio Enterprise pode fazer sentido, desde que tenha bastante orçamento. Mas se não o fizer, muitos plugins no ecossistema Visual Studio podem ajudá-lo a obter as características do VS Enterprise de uma forma “ala carte”.

Carlos Schults
Autor Contribuinte

Carlos Schults é um .NET com experiência tanto em desenvolvimento de desktop como em desenvolvimento web, e está agora a experimentar a sua mão no telemóvel. Ele tem uma paixão por escrever código limpo e conciso, e está interessado em práticas que o ajudem a melhorar a saúde da aplicação, tais como revisão de código, testes automatizados, e construção contínua. Pode ler mais de Carlos em carlosschults.net.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *