NDepend

De NDepend Dependency Graph in Visual Studio

Als u een .NET-ontwikkelaar bent, dan is het zeer waarschijnlijk dat u Visual Studio gebruikt. Er zijn alternatieven voor, zeker. Maar het product van de Redmond-gigant is hét product als het gaat om ontwikkelen voor het .NET framework.

Voor een nieuwkomer kan het echter verwarrend zijn, omdat Visual Studio niet uit één ding bestaat.

In plaats daarvan is het er in verschillende soorten en maten.

Welke moet je kiezen? Welke functies zijn voor uw toepassing van belang?

Omdat Visual Studio niet gratis is – de meeste edities zijn dat in ieder geval niet – wilt u het meeste waar voor uw geld krijgen.

Dat is wat deze post gaat behandelen. Zoals de titel al aangeeft, richten we ons op de verschillen tussen de enterprise en professional edities van de geïntegreerde ontwikkelomgeving (IDE).

Aan het eind van dit artikel zult u genoeg hebben geleerd om een weloverwogen beslissing te nemen over welke versie van de IDE het beste bij uw behoeften past.

Wenst u dat uw editie van Visual Studio volledige ondersteuning biedt voor architectuur-tooling?

Download een gratis proefversie van NDepend en bekijk alle architectuur-visualisaties die u kunt krijgen zonder dat u uw VS editie hoeft te upgraden. Zie ook: Case Study: 2 Eenvoudige Principes voor het bereiken van Hoge Code Behoudbaarheid

Laten we beginnen.

Enterprise vs. Professional: Welke is de juiste Visual Studio voor u?

Om de verschillen tussen de professionele en enterprise edities van Visual Studio te begrijpen, moet u eerst in gedachten houden dat Microsoft de IDE in verschillende niveaus aanbiedt.

  1. Visual Studio Community is het goedkoopst (het is gratis).
  2. Volgende is Visual Studio Professional.
  3. En ten slotte Visual Studio Enterprise, dat over de meeste functies beschikt en het duurst is.

lke editie heeft alle functies van de editie eronder, plus nog meer.

Dus de vraag “wat zijn de verschillen tussen Visual Studio Enterprise en Professional” komt eigenlijk neer op wat de eerste wel kan en de tweede niet.

Features that Only Visual Studio Enterprise Has

Laten we eens kijken naar de exclusieve features van Visual Studio Enterprise, onderverdeeld in categorieën.

Integrated Development Environment Features

We beginnen met het behandelen van features die betrekking hebben op de IDE zelf. Visual Studio Enterprise is in het bijzonder gericht op software-architecten, dus deze editie heeft uiteraard verschillende functies met betrekking tot software-architectuur.

1A. Architectural Validation and Analysis

Stelt u zich dit scenario eens voor.

U ontwikkelt een toepassing die het n-lagen architectuurpatroon volgt. U wilt voorkomen dat de presentatielaag direct toegang heeft tot de gegevenslaag.

Sinds de 2010 versie van Visual Studio Enterprise, is het mogelijk om architecturele validatie uit te voeren op een app met behulp van architecturale laag diagrammen. U zou deze validatie bijvoorbeeld in uw bouwproces kunnen integreren.

In de nieuwste versie is deze functie ook verbeterd en biedt nu ook live validatie van afhankelijkheden. In plaats van te moeten wachten tot de build mislukt, geeft Visual Studio, gebruikmakend van de kracht van Roslyn analyzers, u real-time feedback wanneer u op het punt staat een ongeldige dependency in te voeren.

NDepend Dependency Graph and Dependency Matrix

1B. Detectie van codeduplicatie

Duplicatie van code is een van de grootste problemen in een codebase. Visual Studio Enterprise kan ontwikkelaars en architecten helpen dit probleem aan te pakken met een handige functie: analyse van codeklonen. Met deze functie kan Visual Studio mogelijke codeduplicaties lokaliseren, zodat u ze kunt elimineren.

Verbeterde debugging en diagnostiek

Ontwikkelaars besteden veel tijd in de debugger. Laten we daarom eens kijken naar de exclusieve Visual Studio Enterprise-functies voor dit domein.

De eerste functie hier is IntelliTrace. In plaats van de traditionele debugging in de huidige tijd, kunt u met IntelliTrace een eerdere uitvoering van uw app debuggen. Je kunt IntelliTrace data van veel verschillende bronnen opslaan, inclusief een ingezette app in de productie!

Ook in het debugging domein, hebben we Code Map debugger integratie.

Deze functie biedt een nieuw soort ervaring bij het debuggen door u in staat te stellen de huidige methode te visualiseren – en ook de vorige methoden die zijn aangeroepen – als diagrammen die zijn geïntegreerd met de debugger en in realtime worden bijgewerkt terwijl u door uw code stapt.

Ten slotte komen we bij .NET Memory Dump Analysis. Met deze functie kun je geheugendumpbestanden analyseren om prestatieproblemen te identificeren en op te lossen, zoals geheugenlekken of onnodige toewijzingen.

Testing Tools

We zijn eindelijk bij de testtools. Dit is het gebied waar Visual Studio Enterprise de andere edities van de IDE overtreft. We beginnen met een aantal functies met betrekking tot geautomatiseerde unit tests en gaan dan verder met functies die kunnen helpen bij handmatige, verkennende en UI tests.

3A. Geautomatiseerde tests

Unit Testen

Laten we beginnen met Live Unit Testen.

Testing is waar Visual Studio Enterprise andere edities van de IDE overtreft.Wanneer u deze functie inschakelt, voert Visual Studio automatisch unit-tests uit die worden beïnvloed door de wijzigingen die u zojuist in uw toepassing hebt aangebracht en presenteert de resultaten in realtime aan u. Deze functie ondersteunt de frameworks NUnit, xUnit.net en MSTest.

Nu we het toch over unit testing hebben, laten we ons nu richten op een onderwerp dat zeker tot enige controverse zal leiden: test coverage.

Misschien denkt u dat het bereiken van 100% code coverage van vitaal belang is voor de gezondheid van een applicatie, of misschien denkt u van niet. Maar u bent het er waarschijnlijk wel mee eens dat het toch nuttig is om de testdekkingsgegevens te kennen. Visual Studio Enterprise biedt u deze metriek.

Wanneer u ernaar streeft goede unit tests te schrijven, moet u altijd streven naar isolatie. Een goede unit test moet zo apart en onafhankelijk mogelijk worden gehouden, niet alleen van andere tests maar ook van infrastructurele zaken. Details zoals de klok van de machine of de taal zouden het resultaat van de test niet mogen beïnvloeden.

Het is echter niet altijd gemakkelijk om een dergelijke isolatie te bieden. Visual Studio Enterprise probeert dat probleem op te lossen met Microsoft Fakes.

Microsoft Fakes stelt u in staat om stubs en shims te gebruiken om externe afhankelijkheden in uw code te simuleren.

Een klassieke use case daarvoor zou zijn om een specifieke datum te simuleren om op een tijdgevoelige bug te testen. Visual Studio Enterprise kan zelfs verder gaan dan dat. Via IntelliTest is het mogelijk om automatisch een unit testsuite voor uw code te genereren, samen met neptestgegevens.

Geautomatiseerde UI-tests

Wat te denken van geautomatiseerde tests die geen unit tests zijn?

Visual Studio Enterprise kan ook in die behoeften voorzien. Met gecodeerde UI-tests kunt u geautomatiseerde tests maken die de applicatie door de gebruikersinterface sturen. U doet dat door een handmatige test op te nemen en deze op te slaan. Nadat de test is opgenomen, kunt u waarden voor parameters opgeven en de test verfijnen met een speciale editor.

3B. Handmatige tests

Een code-base moet echter niet alleen van geautomatiseerde tests leven. Handmatige tests zijn nog steeds een essentieel onderdeel van een alomvattende kwaliteitsstrategie, en Visual Studio Enterprise kan ook in die behoeften voorzien.

En het belangrijkste gereedschap dat daarvoor wordt gebruikt is de Microsoft Test Manager, een uitgebreide oplossing waarmee de gebruiker de volgende taken kan uitvoeren:

  • acties die worden uitgevoerd tijdens verkennende (d.w.z., ongescripte) testsessies
  • maak en beheer testplannen voor handmatige tests
  • kopieer testsuites en testgevallen over meerdere projecten
  • registreer en verzamel gegevens over geplande handmatige testsessies

Door deze functie te gebruiken, kan een ontwikkelaar, tester of testanalist een zeer breed overzicht krijgen van wat er op het project gebeurt, test-wijs. Zie het als een gecentraliseerd controlepaneel voor alles wat met testen te maken heeft.

Visual Studio Professional Vs. Visual Studio Enterprise: The Verdict

Microsoft biedt Visual Studio aan volgens een trapsgewijs aanbodmodel. Dus, het analyseren van de verschillen tussen Visual Studio Professional en Visual Studio Enterprise (respectievelijk het tweede en derde niveau) komt neer op het behandelen van de kenmerken die aanwezig zijn in de laatste, maar afwezig in de eerste. En dat is wat we in deze post hebben gedaan.

Zeker, we hebben niet alle exclusieve kenmerken van Visual Studio Enterprise genoemd, omwille van de beknoptheid. Maar ik ben ervan overtuigd dat het artikel duidelijk heeft gemaakt dat Visual Studio Enterprise in de eerste plaats gericht is op software-architecten en QA-experts.

Dus, wat is het oordeel?

Ik zou zeggen dat je niet verkeerd kunt gaan met Visual Studio Professional. Het is een uitstekende keuze voor de meeste ontwikkelaars. Voor software-architecten kan Visual Studio Enterprise echter zinvol zijn, zolang u over voldoende budget beschikt. Maar als dat niet het geval is, zijn er veel plugins in het Visual Studio ecosysteem die u kunnen helpen om de functies van VS Enterprise op een ala carte manier te gebruiken.

Carlos Schults
Contributing Author

Carlos Schults is een .NET softwareontwikkelaar met ervaring in zowel desktop- als webontwikkeling, en nu waagt hij zich ook aan mobiele toepassingen. Hij heeft een passie voor het schrijven van schone en beknopte code, en hij is geïnteresseerd in praktijken die je helpen de gezondheid van je app te verbeteren, zoals code review, geautomatiseerd testen, en continuous build. Je kunt meer van Carlos lezen op carlosschults.net.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *