Si vous êtes un développeur .NET, il est fort probable que vous soyez un utilisateur de Visual Studio. Il existe des alternatives à Visual Studio, bien sûr. Mais le produit du géant de Redmond est le produit de référence lorsqu’il s’agit de développer pour le framework .NET.
Pour un nouveau venu, cependant, les choses peuvent devenir confuses car Visual Studio n’est pas une chose unique.
Au contraire, il se décline en plusieurs formes et tailles.
Quel est celui que vous devez choisir ? Quelles sont les fonctionnalités qui comptent pour votre cas d’utilisation ?
Comme Visual Studio n’est pas gratuit – la plupart des éditions ne le sont pas, du moins – vous voulez en avoir pour votre argent.
C’est ce que ce post va couvrir. Comme son titre le suggère, nous nous concentrerons sur les différences entre les éditions entreprise et professionnelle de l’environnement de développement intégré (IDE).
À la fin du billet, vous en aurez appris suffisamment pour prendre une décision éclairée sur la version de l’IDE qui correspond le mieux à vos besoins.
Téléchargez une version d’évaluation gratuite de NDepend et découvrez toute la visualisation de l’architecture dont vous pouvez bénéficier sans avoir besoin de mettre à niveau votre édition de VS. Voir aussi : Étude de cas : 2 principes simples pour obtenir une maintenabilité élevée du code
Démarrons.
Enterprise vs. Professional : Lequel est le Visual Studio qui vous convient ?
Pour comprendre les différences entre les éditions professionnelle et entreprise de Visual Studio, vous devez d’abord garder à l’esprit que Microsoft propose l’IDE de manière échelonnée.
- Visual Studio Community est le moins cher (il est gratuit).
- Visual Studio Professional vient ensuite.
- Et, enfin, Visual Studio Enterprise est la plus riche en fonctionnalités et la plus chère.
Chaque édition possède toutes les fonctionnalités de l’édition qui lui est inférieure, plus des fonctionnalités supplémentaires.
Donc la question » quelles sont les différences entre Visual Studio Enterprise et Professional » revient en fait à savoir ce que la première peut faire que la seconde ne peut pas faire. Nous allons donc nous pencher sur ce point.
Les fonctionnalités que seul Visual Studio Enterprise possède
Voyons les fonctionnalités exclusives de Visual Studio Enterprise, réparties en catégories.
Fonctionnalités de l’environnement de développement intégré
Nous commencerons par couvrir les fonctionnalités liées à l’IDE lui-même. Visual Studio Enterprise s’adresse particulièrement aux architectes logiciels, de sorte que cette édition comporte évidemment plusieurs fonctionnalités liées à l’architecture logicielle.
1A. Validation et analyse architecturale
Imaginez ce scénario.
Vous développez une application qui suit le modèle architectural à n couches. Vous voudriez donc empêcher la couche de présentation d’accéder directement à la couche de données. Vous voudriez l’autoriser à accéder uniquement à la couche de logique métier.
Depuis la version 2010 de Visual Studio Enterprise, il est possible d’effectuer une validation architecturale sur une app à l’aide de diagrammes de couches architecturales. Vous pourriez intégrer ladite validation dans votre processus de construction, par exemple. Si une classe faisait référence à un espace de nom dans une certaine couche à laquelle elle n’était pas censée accéder, la construction échouerait.
Dans la dernière version, cette fonctionnalité a également été améliorée pour offrir une validation des dépendances en direct. Au lieu de devoir attendre que la construction échoue, Visual Studio, employant la puissance des analyseurs Roslyn, vous donnera un retour en temps réel chaque fois que vous êtes sur le point d’introduire une dépendance invalide.
1B. Détection de la duplication de code
La duplication de code est l’un des pires problèmes dans une base de code. Visual Studio Enterprise peut aider les développeurs et les architectes en place à faire face à ce problème grâce à une fonctionnalité pratique : l’analyse des clones de code. Grâce à cette fonctionnalité, Visual Studio peut localiser les éventuels doublons de code afin que vous puissiez les éliminer.
Débogage et diagnostics avancés
Les développeurs passent un temps considérable dans le débogueur. Voyons donc les fonctionnalités exclusives de Visual Studio Enterprise dans ce domaine.
La première fonctionnalité ici est IntelliTrace. Au lieu du débogage traditionnel en temps présent, IntelliTrace vous permet de déboguer une exécution passée de votre application. Vous pouvez enregistrer les données IntelliTrace à partir de nombreuses sources différentes, y compris une app déployée dans la production !
Dans le domaine du débogage également, nous avons l’intégration du débogueur Code Map.
Cette fonctionnalité offre un nouveau type d’expérience lors du débogage en vous permettant de visualiser la méthode actuelle – et aussi les méthodes précédentes appelées – sous forme de diagrammes qui s’intègrent au débogueur et se mettent à jour en temps réel au fur et à mesure que vous avancez dans votre code.
Enfin, nous arrivons à .NET Memory Dump Analysis. Cette fonctionnalité vous permet d’analyser les fichiers de vidage de la mémoire pour identifier et corriger les problèmes de performance, tels que les fuites de mémoire ou les allocations inutiles.
Outils de test
Nous en sommes enfin aux outils de test. Ce domaine est, sans conteste, celui où Visual Studio Enterprise surpasse les autres éditions de l’IDE. Nous commencerons par parler de certaines des fonctionnalités liées aux tests unitaires automatisés, puis nous aborderons les fonctionnalités qui peuvent aider aux tests manuels, exploratoires et d’interface utilisateur.
3A. Tests automatisés
Tests unitaires
Débutons avec les tests unitaires en direct.
Lorsque vous activez cette fonctionnalité, Visual Studio exécute automatiquement les tests unitaires impactés par les modifications que vous venez d’apporter à votre application et vous présente les résultats en temps réel. Cette fonctionnalité prend en charge les frameworks NUnit, xUnit.net et MSTest.
Puisque nous parlons de tests unitaires, intéressons-nous maintenant à un sujet qui ne manquera pas de susciter quelques controverses : la couverture des tests.
Peut-être pensez-vous qu’atteindre 100 % de couverture de code est vital pour la santé d’une application, ou peut-être pas. Mais vous conviendrez très probablement que connaître les données de couverture de test est néanmoins utile. Visual Studio Enterprise vous propose cette métrique de manière native.
Lorsque vous cherchez à écrire de bons tests unitaires, un objectif que vous devez toujours viser est l’isolation. Un bon test unitaire doit être maintenu aussi séparé et indépendant que possible, non seulement des autres tests, mais aussi des préoccupations liées à l’infrastructure. Des détails tels que l’horloge ou la langue de la machine ne devraient pas interférer avec le résultat du test.
Prévoir une telle isolation n’est cependant pas toujours facile. Visual Studio Enterprise tente de résoudre ce problème avec Microsoft Fakes.
Microsoft Fakes vous permet d’utiliser des stubs et des shims pour simuler des dépendances externes dans votre code.
Un cas d’utilisation classique pour cela serait de simuler une date spécifique pour tester un bug sensible au temps. Visual Studio Enterprise peut aller au-delà même de cela. Grâce à IntelliTest, il est possible de générer automatiquement une suite de tests unitaires pour votre code, ainsi que des données de test factices.
Tests UI automatisés
Qu’en est-il des tests automatisés qui ne sont pas des tests unitaires ?
Visual Studio Enterprise peut également répondre à ces besoins. Avec les tests d’interface utilisateur codée, vous pouvez créer des tests automatisés qui pilotent l’application à travers son interface utilisateur. Vous feriez cela en enregistrant un test manuel et en le sauvegardant. Une fois le test enregistré, vous pouvez spécifier les valeurs des paramètres et le peaufiner à l’aide d’un éditeur spécial.
3B. Tests manuels
Une base de code ne doit cependant pas vivre uniquement de tests automatisés. Les tests manuels restent un élément essentiel d’une stratégie de qualité globale, et Visual Studio Enterprise peut également répondre à ces besoins.
Et le principal outil utilisé pour ce faire est le Microsoft Test Manager, qui est une solution complète permettant à son utilisateur d’effectuer les tâches suivantes :
- enregistrer et rejouer les actions effectuées lors de sessions de tests exploratoires (c’est-à-dire, non scriptées)
- créer et gérer des plans de test pour les tests manuels
- copier des suites de test et des cas de test sur de nombreux projets
- enregistrer et collecter des données sur les sessions de test manuel planifiées
En employant cette fonctionnalité, un développeur, un testeur ou un analyste de test peut avoir une vue très large sur ce qui se passe sur le projet, du point de vue des tests. Pensez-y comme un panneau de contrôle centralisé sur tout ce qui concerne les tests.
Visual Studio Professional Vs. Visual Studio Enterprise : Le verdict
Microsoft propose Visual Studio selon un modèle d’offres à plusieurs niveaux. Ainsi, analyser les différences entre Visual Studio Professional et Visual Studio Enterprise (respectivement les deuxième et troisième niveaux) revient à couvrir les caractéristiques présentes dans le second mais absentes dans le premier. Et c’est ce que nous avons fait dans ce billet.
Bien sûr, nous n’avons pas mentionné toutes les fonctionnalités exclusives de Visual Studio Enterprise, par souci de concision. Mais je suis sûr que l’article a clairement indiqué que Visual Studio Enterprise s’adresse principalement aux architectes logiciels et aux experts en assurance qualité.
Alors, quel est le verdict ?
Je dirais que vous ne pouvez pas vous tromper avec Visual Studio Professional. C’est un excellent choix pour la plupart des développeurs. Pour les architectes logiciels cependant, Visual Studio Enterprise pourrait avoir du sens, tant que vous avez beaucoup de budget. Mais si ce n’est pas le cas, de nombreux plugins de l’écosystème Visual Studio peuvent vous aider à obtenir les fonctionnalités de VS Enterprise de manière ala carte.
Carlos Schults est un .NET ayant de l’expérience dans le développement desktop et web, et il s’essaie maintenant au mobile. Il a une passion pour l’écriture d’un code propre et concis, et il s’intéresse aux pratiques qui vous aident à améliorer la santé des applications, comme la revue de code, les tests automatisés et la construction continue. Vous pouvez lire les articles de Carlos sur le site carlosschults.net.
.