La boite à outils des développeurs .NET

Vous venez de faire vos premiers pas dans le monde du développement .Net. ? Motivé mais peut être un peu trop pressé, vous vous jetez dans l’écriture de votre œuvre. Stop !!! Un bon ouvrier ne travaille bien qu’avec de bons outils : prenez un peu de temps pour découvrir ce que la communauté .Net vous a concocté pour travailler plus efficacement.

Les éditeurs

Vous avez fait connaissance avec la plate-forme .net et vous avez écrit vos premières lignes de C#, VB.Net ou J#. Vous avez peut être utilisé un simple éditeur de texte mais vous devrez faire appel à un véritable environnement de développement, comprenant des outils de compilation, de recherche, de conception voir d’automatisation et de génération pour mener à bien votre projet.
Les environnements de développement peuvent désormais être séparés en deux grandes catégories, les gratuits et les payants. Si Visual Studio Professionnel et Team System sont obligatoires pour un développement à but lucratif, la gamme Express permet dorénavant de s’équiper d’un IDE puissant, disposant de nombreuses fonctionnalités, à moindre frais puisqu’ils sont gratuits. Seul vous en coûtera, un enregistrement et le téléchargement de la version adéquate, en fonction du langage que vous avez choisi ou du type d’application que vous souhaitez créer.


L’indispensable

Si vous avez retenu la leçon, vous savez désormais que le code que vous écrirez en .net ne sera pas directement exécuté sur la machine de vos clients mais passera par une machine virtuelle qui prendra en entrée le résultat d’une compilation .Net, à savoir du code IL. Ce code est un peu trop verbeux et en comprendre le sens est une activité longue et fastidieuse. Cependant, un outil (ou plutôt l’OUTIL) permet de parcourir ce code facilement puis de repasser celui-ci sous une représentation en code managé. Cet outil, Reflector de Lutz Roeder est un indispensable pour tous les développeurs .Net. En effet, celui-ci permet de prendre connaissance des rouages internes d’une librairie ou d’un composant que vous souhaitez utiliser et dont la documentation technique laisse à désirer. Les aficionados des produits en Beta, pauvres en documentation, ne jurent que par lui.
De plus, le fait de pouvoir désassembler les applications dont vous vous servez est une excellente façon d’apprendre à réaliser certaines actions.


Tester

Fière de vos premières lignes de code, vous en oublieriez presque vos bonnes intentions d’origines. Vous aviez promis d’écrire du code de qualité, testé, vérifié, contrôlé. Depuis 2002, foule d’outils adaptés au développement d’application .Net permettent d’optimiser la qualité du résultat.
Concernant les tests unitaires, impossible de ne pas parler de NUnit, framework d’écriture et d’exécution des projets de test.

Par ailleurs, qui n’a pas un jour déclaré des variables au nom pour le moins brumeux, les « temp », «mavariable » ? Qui n’a jamais hurlé à la vue de ce code (personnel ou d’un tiers) au moment de la maintenance ?
Bien entendu, il nous arrive d’avoir à coder de cette façon pour tenter une approche ou un algorithme et tout le monde sait et comprend les dangers d’une telle démarche : l’oubli. Un outil devrait être votre pense bête : FXCop. FXCop est un outil d’analyse statique de code, qui permettra de vérifier le bon respect de règles de codage dans votre projet. Ces règles sont configurables et extensibles mais les règles fournies par défaut devraient déjà vous prendre un certain temps pour que votre application les respectent toutes.


Documenter

Vous avez peut-être découvert les fonctionnalités des langages .Net permettant documenter vos classes et vos routines. Si vous avez pris soin de saisir l’intégralité des champs de cette documentation, il est temps de capitaliser cet effort et de transformer ce pauvre fichier XML généré par la compilation en une documentation technique que vous pourrez fièrement mettre en ligne ou livrer à vos utilisateurs.
Cette transformation pourra se faire à l’aide de l’outil SandCastle, encore en Beta mais entièrement fonctionnel, qui vous générera des fichiers CHM ou un site web HTML au look MSDN. SandCastle n’est rien d’autre qu’un ensemble de fichiers de transformation XML et sa configuration n’est pas des plus aisée. Heureusement, vous trouverez sur CodePlex, SandCastleHelpFileBuilder, projet permettant de créer à l’aide d’une interface graphique le fichier de définition SandCastle qui correspond à vos attentes.


Protéger

Comme nous venons de le voir, il est possible de désassembler du code .net pour en voir le contenu et ainsi en comprendre le fonctionnement. Si vous n’êtes pas du genre prêteur ou que certains de vos algorithmes méritent que vous en conserviez la propriété, vous envisagez peut-être de protéger votre code de ce désassemblage. Vous devez donc faire appel à un obfuscateur, un outil qui modifiera le code afin d’en rendre la compréhension extrêmement difficile une fois désassemblé. Pour la plate forme .net, Dotfuscator est la référence.


Construire

Ne serait ce qu’à la lecture de cet article, vous conviendrez qu’une application moderne ne se compose pas d’une série de fichiers de code source à compiler. Les éléments de configuration, les tests, les données de base, voilà réellement de quoi sera constitué votre projet. Malheureusement, plus vous multiplierez les éléments, plus vous aurez besoin d’organisation et de temps pour construire et livrer votre application. Pourquoi ne pas passer alors un peu de temps à automatiser cette construction. Si les premiers processus et outils de builds étaient constitués d’un ensemble de batch exécutant les différentes applications, aujourd’hui, de véritables Framework dédiés aux différentes plates-formes existent.
Si vous utilisez le Framework 2.0 pour votre application, l’installation du kit de développement a entraîné l’installation de MSBuild. MSBuild est un framework de construction, basé sur des fichiers de scripts XML, définissant les différentes étapes et les différentes tâches qui seront exécutées lors de la construction d’une version de votre application.

Si vous ne disposez pas encore du framework 2.0 et souhaitez tout de même automatiser vos constructions, vous pourrez utiliser Nant, version dotnetisée du célébre Ant, depuis longtemps connu comme une référence en la matière.


Déployer

Votre projet est terminé, vous l’avez peaufiné, testé, contrôlé, documenté… Vous souhaiteriez maintenant pouvoir en faire profiter la terre entière et voir sur vous retomber les lauriers de la gloire. Mais vous ne pouvez pas vous contenter d’une simple archive au format Zip et souhaiteriez fournir un véritable package d’installation. Si les packages MSI disponibles à partir de Visual Studio ne vous conviennent pas et que vous souhaitez en étendre les fonctionnalités, il existe WIX. Le principe de WIX est de fournir une description des étapes d’installation d’un logiciel sous forme de fichiers XML qui, une fois compilés, permettent de créer le programme d’installation de vos rêves. Accompagnez le de WixEdit pour en tirer le meilleur parti.

Pour finir, pourquoi ne pas citer quelques outils, pas forcément dédiés à la plate-forme .net mais qui pourront vous rendre un fier service. En matière de génération de code, CodeSmith reste la référence mais sa version complète, payante, n’est pas à la portée de toutes les bourses. MyGeneration vous permettra d’obtenir des résultats assez proches à moindre coût.

WinMerge, comparateur performant de fichiers est un indispensable sur une machine de développement moderne.


Voilà donc un aperçu de tout ce que vous pourrez installer sur votre machine pour coder développer facilement et efficacement. Bien entendu, la liste de ces outils n’est pas exhaustive et vous trouverez moult produits similaires et complémentaires sur les différents sites communautaires. Et pourquoi ne pas utiliser un de ces sites pour mettre en avant votre travail ? Codeplex parait être aujourd’hui la meilleure solution (Team Foundation Server, suivi des versions, des changements, recensement des anomalies, wiki, visibilité importante…) pour promouvoir un développement que vous souhaitez partager, voir faire évoluer de manière collaborative en faisant participer les visiteurs.


Mathieu SZABLOWSKI

Expert en technologie .NET

Article paru sur Programmez!


Soyez visible des recruteurs

Déposez votre CV !

Offres d'emploi


Partagez ce contenu

Partager Facebook Twitter Google+ LinkedIn Viadeo