Partage
  • Partager sur Facebook
  • Partager sur Twitter

Analyse statique de code et fonction associées

Détection de fonction impactée par modification de code

    9 mai 2019 à 11:42:40

    Bonjour,

    ça fait longtemps que ça me trotte dans la tête et je vois que le besoin se fait toujours sentir de mon côté et avec les années d'utilisation de Git et Gitlab et autre, je ne vois toujours pas de solution émergée par elle-même.

    J'aimerais savoir s'il existe quelque part une solution pour analyser statiquement du code et des outils pour associer des fonctionnalités à des blocs de code.

    Dans un process propre, mon idée serait par exemple :

    - d'identifier une fonctionnalité soit par son nom "my fonction super cool", soit par un id tel que celui d'un "Issue" dans gitlab (Ex #45)

    - pour chaque bloc de code ou fonction ou fichier, on puisse associer une ou plusieurs fonctionnalités

    - pour chaque commit on puisse donc dire quelles fonctionnalités sont associées

    l'idée étant ensuite que pour chaque fonctionnalité on puisse sortir une liste de tests associé. Pour différentes raisons ça me paraît difficile d'associer des tests automatiques dans le cadre de mon travail car c'est pour le moment impossible d'automatiser des tests, mais au moins associer une liste de tests décrit quelque part à effectuer pour s'assurer qu'il n'y pas de régression suite au commit.

    Je pense que vous voyez l'idée et des outils comme ça doivent sûrement exister, maintenant savoir où, et s'ils ne sont pas directement intégrés dans des grosses suites logicielles type Jira ou autre qui ne permette pas d'extraire et d'utiliser cette analyse ailleurs...

    J'avais pensé à simplement mettre en commentaire dans le code des références début et fin de bloc associé à une ou plusieurs fonction. ça pourrait déjà répondre au soucis de la détection. Maintenant l'association de tests serait à gérer de façon documentaire associée à la fonction

    Bref, si vous avez des pistes

    Merci d'avance

    Hervé

    • Partager sur Facebook
    • Partager sur Twitter
      9 mai 2019 à 14:01:24

      Bonjour, 

      Ce que tu peux faire, c'est d'utiliser des hooks git. 

      Le principe des hooks, c'est que tu peux déclencher des scripts personnels avant ou après certaines actions. Pour ton cas, je pense qu'il faudrait faire un parseur et générer un fichier .txt qui te listes ce que tu veux. Pour la génération des annotations de blocs de code ou autre, tu peux essayer de t'inspirer de certaines conventions de documentation pour gagner un peu en lisibilité et en portabilité si jamais tu veux partager ton code. 

      • Partager sur Facebook
      • Partager sur Twitter
        16 juin 2019 à 11:46:40

        Bonjour @cernkor

        Effectivement les hooks git me paraissent le plus pratique et le plus adapté. Je n'ai jamais trop investigué mais ça me parait évident que ce oit ça.

        Je crois que c'est intégrable d'une certaine manière dans gitlab d'ailleurs il me semble mais je ne sais pas si il est possible d'intégrer un hook perso. ça ne doit pas être facile à faire la première fois, mais une fois que c'est en place... une bonne piste effectivement

        Je suis étonné qu'il n'y ait pas plus de réponse, pourtant je pense que d'un point de vue qualité d'application et optimisation des tests, ce genre de mécanisme me parait nécessaire... mais sûrement que les grosses boite ont l'équivalent mais en développement interne, j'imagine

        • Partager sur Facebook
        • Partager sur Twitter

        Analyse statique de code et fonction associées

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown