Adobe a sorti hier un nouvel outil baptisé FlexPMD. Cet outil permet de faire l'audit du code de vos projets Flex / AS3 / Air. Il a été développé en interne au sein du Adobe Technical Services. FlexPMD est maintenant accessible à tous, en Open Source et de manière gratuite.
Que fait FlexPMD?
FlexPMD permet de détecter automatiquement dans votre code, les anti-pattern, et autres "Worst Practices" (mauvaises pratiques) dans votre code source Flash/Flex. FlexPMD utilise en partie PMD, l'équivalent Java. A l'origine, FlexPMD a été crée pour automatiser les audits de code bas-niveau pour que les consultants puissent se concentrer sur les problèmes de plus haut niveau. Au final, cet outil permet aussi de détecter les anti-pattern plus avancés.
Le projet contient actuellement plus de 80 règles, comme par exemple la détection de code inutilisé (dead code), les méthodes trop complexes avec référence cycliques, les variables mal nommées, mais aussi les problèmes d'architecture comme par exemple les View référencées dans les Model, … Comme le projet est Open Source, la communauté pourra créer de nouvelles règles que vous pourrez ajouter à FlexPMD. Vous pouvez aussi créer vos propres règles.
Consulter la page officielle de FlexPMD
Voir le blog de l'auteur Xavier Agnetti
Comment utiliser FlexPMD?
FlexPMD peut être invoqué de 4 manières différentes:
- Invoquer FlexPMD en ligne de commande
- Invoquer FlexPMD avec Ant
- Invoquer FlexPMD avec Maven
- Invoquer FlexPMD avec Mac OSX Automator
Des tutoriaux Flex seront bientôt publiés sur flex-tutorial, expliquant comment invoquer FlexPMD et traiter les résultats. Un plugin Flash Builder est déjà considéré par les développeurs.
Télécharger les différentes versions de FlexPMD
Comment marche FlexPMD?
FlexPMD est fourni avec un ensemble de règles pour le développement Flex/AS. Chaque fichier source passé dans FlexPMD est testé sur chacune des règles.
Il y a différents types de règles:
- Basée sur une expression régulière: La règle va passer sur chaque ligne en cherchant un pattern (motif) en particulier, et détecter les violations éventuelles
- Basée sur un Abstract Synthax Tree (AST): La règle va analyser l'arbre de syntaxe ActionScript pour détecter, par exemple, une instruction if trop profonde dans le code.
- Basée sur XPath: La règle va serialiser l'AST en un flux XML et utiliser une expression XPath pour détecter l'erreur
Voici le workflow général de FlexPMD:

En savoir plus sur le fonctionnement de FlexPMD
Visualiser le rapport d'audit généré par FlexPMD (pmd.xml)
A partir de votre code source, FlexPMD va vous générez un rapport nommé pmd.xml. Le fichier pmd.xml représente la donnée brute du rapport. Pour le visualiser de manière plus conviviale, vous pouvez utiliser l'application FlexPMD Violations Viewer disponible à cette adresse:
Vous n'avez qu'à uploader simplement votre fichier pmd.xml et vous aurez un détail des violations de votre rapport avec possibilités de tri, filtrage, etc.
Vous pouvez aussi passer l'URL de votre fichier pmd.xml pour qu'il s'affiche automatiquement dans le viewer comme ceci: http://opensource.adobe.com/svn/opensource/flexpmd/bin/flex-pmd-violations-viewer.html?report=[URL of the report]/pmd.xml
Le fichier pmd.xml peut aussi être visualisé par un processus d'intégration continue grâce à un plugin.
Exemples de rapport générés grâce à FlexPMD et Maven / Hudson
Comme FlexPMD peut être utilisé par Maven, il peut être intégré à votre processus d'intégration continue. Voici le genre de rapport que vous pourrez obtenir:


Autres Tutoriaux Flex liés:
- FlexPMD – Tutorial Invoquer FlexPMD en ligne de commande
- FlexPMD – Tutorial Invoquer FlexPMD avec Ant
- FlexPMD – Le plug-in Eclipse / Flex Builder 3 / Flash Builder 4 disponible
- Sortie de FlexPMD 1.1 / FlexCPD 1.1 / FlexMetrics 1.1
- Flex / Air – Modifier le XML Descriptor d'une application Adobe Air avec ADM









2 Réponses à “FlexPMD – Un outil pour faire l'audit de vos projets Flex / AS3 / Air”
Laisser un commentaire