Développeur au sein de Lionbridge, société de services française spécialisée dans la traduction de logiciels ou de sites Web, julien Jacobs réalise ses projets au sein de l'environnement de développement Visual Studio .Net. Il travaille notamment avec le langage C# à l'élaboration d'applications de gestion et d'automatisation de projets de traduction. C'est dans ce cadre que le développeur a recours à l'outil de génération de code MyGeneration.
|
|
Julien Jacobs (Lionbridge) |
|
|
|
|
|
"J'utilise MyGeneration en phase de démarrage pour générer la couche d'accès aux données qui est assez fastidieuse à créer à la main", explique Julien Jacobs. En amont, l'informaticien commence par définir ses modèles de classe à partir d'une base préalablement structurée.
"L'outil parse ensuite ces modèles et génère les classes", poursuit-il. Le logiciel propose un moteur de scripting assez ouvert, couvrant le C# que VB ou JavaScript par exemple. "Nous n'allons pas jusqu'à générer les objets métiers, ce qui est possible mais plus difficile à réaliser", note Julien Jacobs.
Premier avantage observé : un gain de temps moyen de 20 à 30% selon les projets. Plus le développement est important, plus l'amélioration de la productivité sera significative. Il est vrai que la première application élaborée à partir de MyGeneration nécessite de concevoir son modèle de classes. Ensuite, ce socle pourra néanmoins être réutilisé de projet en projet.
"Il est important de bien tester son
modèle de référence"
(Julien Jacobs - Lionbridge) |
Mais la génération logicielle présente d'autres points forts. Favorisant une standardisation des classes, ce procédé limite en premier lieu les risques de bug. "Pour peu qu'il n'y ait pas d'erreur dans le modèle. Car en cas de faille dans celui-ci, un problème peut se retrouver dans toutes les applications générer. D'où l'importance de bien tester son modèle de référence", insiste Julien Jacobs.
Et pour finir, le développeur évoque la flexibilité offerte par le processus. "Nous sommes capables de nous adapter rapidement à un changement demandé en cours de développement", enchaîne-t-il. En cas de modification d'un accès aux données ou d'ajout d'un nouvelle fonction par exemple, il est possible de regénérer les classes.
Ne reste plus ensuite qu'à modifier les classes métiers héritées des classes regénérées, notamment en se basant sur les erreurs de compilation.