IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

[VB]Recherche outil(s) d'aide àl'analyse de code source


Sujet :

VB 6 et antérieur

  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2003
    Messages
    878
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 878
    Points : 1 067
    Points
    1 067
    Par défaut [VB]Recherche outil(s) d'aide àl'analyse de code source
    Bonjour,

    Je dois comprendre rapidement le code source de plusieurs applications écrites en VB (5 ou 6 selon les cas).
    Chacune de ces applications font entre 25000 et 110000 instructions chacunes (donc cela fait un peu plus en nombre de lignes si on compte le peu de commentaires existants).
    Elles ont apparemment été écrites sans respecter aucune règle stricte et le résultat ressemble plus à un plat de spaghetti qu'à autre chose (très nombreuses variables globales qui n'auraient pas besoin de l'être [1], certaines variables déclarées explicitement [2], d'autres pas, noms de variables/fonctions/procédures peu parlants [3], fonctions utilisées comme des procédures [4], "passage de paramètres" via variables globales, peu de commentaires, pas d'indentation, pas de logique apparente dans l'organisation du code, etc, etc [5]).
    Afin d'essayer d'y voir un peu plus clair, je cherche un/des outil(s) qui me permettraient de "parser" le code et d'en extraire des informations comme :
    - liste des fonctions/procédures/propriétés (avec l'endroit où elles sont, les paramètres, etc) ;
    - liste des variables globales/publiques/privées ;
    - liste des fonctions/procédures appelées par chaque fonction/procédure ;
    - liste des variables publiques/globales [6] et des fonctions qui les lisent/modifient ;
    - et éventuellement d'autres choses...
    L'idéal serait d'obtenir un résultat sous forme de fichier(s) qui puissent être facilement lus par un programme (pour, par exemple, générer des graphes avec un outil comme GraphViz à partir des infos).

    Si vous connaissez quelque-chose dans le genre, n'hésitez pas à me le faire savoir.

    Merci d'avance !

    [1]: genre indices de boucle(s) utilisés dans telle ou telle fonction
    [2]: mais pas toujours en début de fonction/procédure
    [3]: exemples : des fonctions qui s'appellent F, FX, FX2, ...
    [4]: ne renvoient pas de valeur
    [5]: bref, tout ce qu'il ne faut pas faire on le trouve dans ces applis
    [6]: "globales" == déclarées avec "Public" en partie déclarations d'un module de code / "publiques" == idem dans une feuille
    Un problème bien exposé
    est, pour moitié, solutionné. / La connaissance s'accroît quand on la partage, pas quand on l'impose. / La violence est le langage des faibles.

  2. #2
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    interessante ta question
    déjà, permets-moi de te souhaiter bon courage

    on va y aller pas à pas

    tu peux déjà installer MZTools qui permet de créer une documentation xml du projet, c'est pas le top mais c'est un début, mais aussi d'analyser le code source, beaucoup plus interessant

    pour l'indentation du programme : Cadeau

    Après, j'ai de l'huile de coude en bidon de 5 litres

    commence par ça, et on en reparle

    Bon courage
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2003
    Messages
    878
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 878
    Points : 1 067
    Points
    1 067
    Par défaut
    Merci pour les encouragements et les pistes, je vais voir ça et je vous tiens au courant.
    Un problème bien exposé
    est, pour moitié, solutionné. / La connaissance s'accroît quand on la partage, pas quand on l'impose. / La violence est le langage des faibles.

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    à l'attention de thierry aim

    bonjour j'aurais aimé profiter du cadeau mais le lien ne semble pas fonctionner
    Elle est pas belle la vie ?

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Hé oui, Thierry a trouvé moyen de mettre un underscore dans le lien et ça marche pas chez moi non plus

    Sans quoi, merci beaucoup... Y'a que l'intention qui compte

  6. #6
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    j'y peux rien pour le _
    c'est mon domaine sur dvp qui a été créé comme ça

    Mais avec ie, chez moi ca marche très bien

    Je vous l'ai mis ailleurs
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Merci Thierry, comme ça, ça marche mieux

  8. #8
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  9. #9
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2003
    Messages
    878
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 878
    Points : 1 067
    Points
    1 067
    Par défaut
    Bon...

    Pour l'indentation, c'est parfait.
    A part que j'ai utilisé une version plus récente (version 3.5 au lieu de 2.1) de l'outil. Elle se trouve à http://www.bmsltd.ie/indenter/default.htm (et y'a pas d'underscore ).

    Pour MZTools, ben...je ne suis pas super satisfait...(oui, je suis difficile) :
    - sur un petit projet, il fait planter Visual Studio lors de la génération de la doc. XML pour 5 formulaires sur les 36 que compte le projet ;
    - il y a certes une fonctionnalité qui permet de savoir qui appelle telle ou telle fonction mais ce n'est apparemment pas possible de lui demander de faire ça pour toutes les procédures/fonctions d'un coup (i.e. : il faut se placer dans une procédure/fonction, cliquer sur le bouton droit, choisir la bonne option, cliquer sur exporter, saisir un nom de fichiers, valider, passer à la fonction/procédure suivante et recommencer...[1]) et les dépendances n'apparaîssent pas dans la doc. générée ;
    - je n'ai rien vu concernant les "dépendances" entre procédures et variables ;
    - l'analyse du code manque certains points (certes, elle peut indiquer qu'une variable n'est pas utilisée, mais manque par exemple des bouts de code qui sont censés utiliser quelque-chose qui n'existe pas [2]).

    Bon...
    Là, j'hésite...
    Je crois que je vais faire un essai avec VBParser et essayer d'écrire ce dont j'ai besoin (ce qui me fait peur, c'est de quand il date...).
    Si quelqu'un avait une grammaire VB compatible avec la dernière version de JavaCC, je serai ravi (ou un autre "parser"...plutôt pas en .Net [3])

    Des suggestions ? Des mises en garde ? Un sourire ?

    En tous cas, merci pour vos réponses (passées et futures) !

    [1]: et dans le petit projet sur lequel j'ai essayé, il y en a près de 700...
    [2]: non, pas de pb à la compilation
    [3]: oui, j'ai vu celui-là
    Un problème bien exposé
    est, pour moitié, solutionné. / La connaissance s'accroît quand on la partage, pas quand on l'impose. / La violence est le langage des faibles.

  10. #10
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Citation Envoyé par David.Schris
    Pour l'indentation, c'est parfait.
    A part que j'ai utilisé une version plus récente (version 3.5 au lieu de 2.1) de l'outil. Elle se trouve à http://www.bmsltd.ie/indenter/default.htm
    Merci, je vais rajouter ce lien à la Page Outils pour VB

    Citation Envoyé par David.Schris
    (et y'a pas d'underscore ).
    à toi aussi

    Citation Envoyé par David.Schris
    Des suggestions ? Des mises en garde ? Un sourire ?
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

Discussions similaires

  1. Analyse du code source d'une page web
    Par pilou254 dans le forum Général Conception Web
    Réponses: 15
    Dernier message: 24/09/2014, 01h30
  2. Réponses: 22
    Dernier message: 29/05/2011, 20h56
  3. Analyse de code source Java
    Par rei.uchiwa dans le forum Général Java
    Réponses: 2
    Dernier message: 27/03/2011, 14h40
  4. [PHP 5.2] Include sécurisé pour analyse du code source
    Par Korko Fain dans le forum Langage
    Réponses: 2
    Dernier message: 25/06/2009, 15h29
  5. Recherche outil d'analyse et rapport pour C++
    Par tnarol dans le forum C++
    Réponses: 3
    Dernier message: 06/09/2006, 13h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo