AnaCoda - principale
analyse et remaniement du code
| Scénarios clients >> |
Page 1 sur 3
|
AnaCoda part de mon intéret pour Extreme Programming, et pour le remaniement du code en particulier. Le but du remaniement est d'obtenir un code propre, clair, évident, sans redondance. Parfois les remaniements sont complexes à faire manuellement, ou alors on perd la vision sur l'architecture globale du code de l'application.
D'où l'idée d'un outils capable de représenter le code sous des vues synthétiques et fournissant une boite à outils de traitements (du renommage de fonction aux modifications de parametres dans tout le code, extraction de fonction, analyse des erreurs courantes, etc...)
Dans un premier temps AnaCoda supportera Delphi et PHP (langages que j'utilise), sous forme de deux versions dédiées afin d'éviter de créer une usine à gaz tout de suite. Avec l'expérience de ces deux projets, je tenterai alors de faire un outils générique capable, via un plug-in, de remanier n'importe quel langage.
AnaCoda est un méta-projet, dédié au remaniement du code. Il est donc tout à fait possible que je m'intégre à des projets existants, que je code des experts ou plug-ins pour Delphi, PHPEdit ou tout autre éditeur extensible. Le projet en lui même n'est pas le but. Le but est l'outils capable d'aider le développeur.
Par extension, si je commence aujourd'hui avec Delphi/Kylix et PHP, il n'est pas exclu que je porte ensuite le projet vers un autre langage.
12/02/04
Première release de test de Anacoda::PHP, capable de parser un projet, de trouver les liens entre fichiers, de compter les lignes, de détecter les appels de procédures...
Pour l'utiliser, il faut éditer anacoda/code/index.php, changer les constantes HTTP_CHEMIN (chemin de base de votre serveur web) et ANALYSE_CHEMIN (chemin du projet analysé). Pour les tests vous devez avoir PHPunit 0.6, et corriger de même quelques chemins.
01/02/04
Profitant d'une pause dans l'ajout de fonctionnalités pour Rat j'ai commencé Anacoda/PHP. Il s'agit donc pour l'instant d'un script PHP utilisant l'extension parseur (qui permet d'analyser les tokens PHP). A ce jour, il me donne la liste des fichiers, et pour chacun : les fonctions définies, les fonctions appelées, les classes, les fichiers inclus, les fichiers dépendants, le nombre de lignes. Le premier but est d'analyser complétement Rat, de trouver les fichiers, fonctions peu ou pas utilisées, etc...
Grace à Anacode, je sais déjà que Rat pese actuellement 27290 lignes, ce qui est (trop) lourd.
Evidemment la couverture de test est totale, et je me force à travailler en pur TDD sur ce projet en particulier.
03/12/03
Vu la complexité des sources Delphi (les formulaires sauvés sous forme de texte plus le code) je pense commencer par PHP. La première livraison analysera un projet et fera le compte des utilisations de chaque élément (fonction, classe, variables). Les scénarios clients sont sur la page suivante. Le premier usage sera d'analyser Rat globalement pour voir les optimisations et nettoyages à apporter.
D'où l'idée d'un outils capable de représenter le code sous des vues synthétiques et fournissant une boite à outils de traitements (du renommage de fonction aux modifications de parametres dans tout le code, extraction de fonction, analyse des erreurs courantes, etc...)
Dans un premier temps AnaCoda supportera Delphi et PHP (langages que j'utilise), sous forme de deux versions dédiées afin d'éviter de créer une usine à gaz tout de suite. Avec l'expérience de ces deux projets, je tenterai alors de faire un outils générique capable, via un plug-in, de remanier n'importe quel langage.
AnaCoda est un méta-projet, dédié au remaniement du code. Il est donc tout à fait possible que je m'intégre à des projets existants, que je code des experts ou plug-ins pour Delphi, PHPEdit ou tout autre éditeur extensible. Le projet en lui même n'est pas le but. Le but est l'outils capable d'aider le développeur.
Par extension, si je commence aujourd'hui avec Delphi/Kylix et PHP, il n'est pas exclu que je porte ensuite le projet vers un autre langage.
12/02/04
Première release de test de Anacoda::PHP, capable de parser un projet, de trouver les liens entre fichiers, de compter les lignes, de détecter les appels de procédures...
Pour l'utiliser, il faut éditer anacoda/code/index.php, changer les constantes HTTP_CHEMIN (chemin de base de votre serveur web) et ANALYSE_CHEMIN (chemin du projet analysé). Pour les tests vous devez avoir PHPunit 0.6, et corriger de même quelques chemins.
01/02/04
Profitant d'une pause dans l'ajout de fonctionnalités pour Rat j'ai commencé Anacoda/PHP. Il s'agit donc pour l'instant d'un script PHP utilisant l'extension parseur (qui permet d'analyser les tokens PHP). A ce jour, il me donne la liste des fichiers, et pour chacun : les fonctions définies, les fonctions appelées, les classes, les fichiers inclus, les fichiers dépendants, le nombre de lignes. Le premier but est d'analyser complétement Rat, de trouver les fichiers, fonctions peu ou pas utilisées, etc...
Grace à Anacode, je sais déjà que Rat pese actuellement 27290 lignes, ce qui est (trop) lourd.
Evidemment la couverture de test est totale, et je me force à travailler en pur TDD sur ce projet en particulier.
03/12/03
Vu la complexité des sources Delphi (les formulaires sauvés sous forme de texte plus le code) je pense commencer par PHP. La première livraison analysera un projet et fera le compte des utilisations de chaque élément (fonction, classe, variables). Les scénarios clients sont sur la page suivante. Le premier usage sera d'analyser Rat globalement pour voir les optimisations et nettoyages à apporter.
Fichier(s)
- anacoda.0.1.zip - (anacoda.0.1.zip, 9.45ko)
Lien(s)
- XP France
- Forum Anacoda
- PHPUnit
- Nexen.net : les outils agiles pour PHP
- PHPxREF, analyseur PHP en Perl
07/08/2004 - Cédric Girard

