Question [Module] PSAnalysis

Plus d'informations
il y a 8 ans 9 mois #20085 par Richard Lazaro
[Module] PSAnalysis a été créé par Richard Lazaro
Bonjour à tous,

Je regarde actuellement tout ce qui est intégration continue et aussi génération automatique de documentation.

Pour cela, j'ai commencé à créer un module qui va analyser le/les scripts passé en paramètre et générer différent type de rapport (site web/visio/docx/...).
Pour l'instant, j'ai exploité le parser (AST) et sortie un résultat sous forme d'arbre.

Si vous voulez suivre le projet ou y contribuer : github.com/RichardLazaro/PSAnalysis

Voilà, à bientôt :)

Think-MS : (Get-Life).Days | %{ Learn-More }

\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 8 ans 9 mois #20088 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:[Module] PSAnalysis
Salut Richard,
quel est ton objectif ?
Je suppose que tu utilise l'anglais pour ton projet ?
Et si cela à un sens, quel OS et version de PS tu cibles ?

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 8 ans 9 mois #20089 par Richard Lazaro
Réponse de Richard Lazaro sur le sujet Re:[Module] PSAnalysis
L'objectif est d'avoir un outil pour analyser du code PS. Connaitre facilement les dépendances des fonctions entre elles, la complexité au niveau de l'imbrication (if dans un if dans un foreach ...ect)

(Par la suite, voir pour mettre en place un analyse de la couverture aussi.)

Le tout va me générer un arbre pour derrière générer de la documentation automatiquement (description des fonctions, imbrications, map)

J'en ai ressenti le besoin lorsque j'ai du reprendre en main un projet d'une autre personne : 10000 lignes et 55 fonctions.

L'OS n'a pas vraiment d'impact sur le script. Par contre niveau version de PS c'est mini 3.0 vu que je me base sur le Parser AST.

Think-MS : (Get-Life).Days | %{ Learn-More }

\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 8 ans 9 mois #20090 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:[Module] PSAnalysis
Richard Lazaro écrit:

L'objectif est d'avoir un outil pour analyser du code PS.

Ok, tu cibles donc une des étapes d'un process d'intégration continue.
Richard Lazaro écrit:

Connaitre facilement les dépendances des fonctions entre elles,

'facilement' pour l'utilisateur d'un code (toi le premier).
Richard Lazaro écrit:

la complexité au niveau de l'imbrication (if dans un if dans un foreach ...ect)

Tu veux dire, déterminer une règle d'alerte selon le nombre d'imbrication ?
Ici je vois au moins deux points, soit l'objet manipulé le nécessite, soit c'est mal écrit ;-)
Dans ce dernier cas, il faut connaitre le contexte pour juger si cela l'est vraiment .

Richard Lazaro écrit:

(Par la suite, voir pour mettre en place un analyse de la couverture aussi.)

Similaire à Pester ?

Richard Lazaro écrit:

Le tout va me générer un arbre pour derrière générer de la documentation automatiquement (description des fonctions, imbrications, map)

C'est ambitieux !
N'est-ce pas de la génération de métriques ?

Générer de la doc d'une fonction, ce ne peut être qu'un squelette ,non ?

Pour la cartographie, il y a + solutions, Glee ou DGML.
Sur la mailing list MS-MVP il y a eu dernièrement une discussion sur le sujet, si tu veux les qq liens citées, dis le moi.

Richard Lazaro écrit:

J'en ai ressenti le besoin lorsque j'ai du reprendre en main un projet d'une autre personne : 10000 lignes et 55 fonctions.

Ayant réaliser beaucoup de maintenance de code(Delphi,Oracle,C#) sans les outils adéquat, je comprends parfaitement :-)
A mon avis, ton futur outil est dédié aux scripteurs avancés.
Richard Lazaro écrit:

Par contre niveau version de PS c'est mini 3.0 vu que je me base sur le Parser AST.

ça tombe sous le sens.

Le projet PSScriptAnalyzer n'est-il pas lié à ton besoin ?
Enfin, utilises-tu l'anglais pour la gestion de ton projet ?

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 8 ans 9 mois #20091 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:[Module] PSAnalysis
Un oubli :
Richard Lazaro écrit:

Par contre niveau version de PS c'est mini 3.0 vu que je me base sur le Parser AST.

Etant donné que PS ne supporte pas le side by side , as-tu prévu une plateforme de test ciblant les deux versions ?

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 8 ans 9 mois #20142 par Richard Lazaro
Réponse de Richard Lazaro sur le sujet Re:[Module] PSAnalysis
Laurent Dardenne écrit:

Ok, tu cibles donc une des étapes d'un process d'intégration continue.


Oui et aussi avant cela, pour aider à la reprise d'un code.

Laurent Dardenne écrit:

'facilement' pour l'utilisateur d'un code (toi le premier).


Bah non, cela va générer une doc ou arbre disant : La fonction A utilise la fonction B et C qui sont déclarées dans ce fichier.

Laurent Dardenne écrit:

Tu veux dire, déterminer une règle d'alerte selon le nombre d'imbrication ?

Ici je vois au moins deux points, soit l'objet manipulé le nécessite, soit c'est mal écrit

Dans ce dernier cas, il faut connaitre le contexte pour juger si cela l'est vraiment.


Plutôt lever des alertes : \"Attention, là y'a une imbrication à 12 niveaux. Il faut peut être découper le traitement en sous-fonction\"

Laurent Dardenne écrit:

Similaire à Pester ?


Oui, peut être une intégration dedans. J'ai vu d'autre outil d'analyse de couverture par ci par là.

Laurent Dardenne écrit:

C'est ambitieux !
N'est-ce pas de la génération de métriques ?


Oui, le but est d'incorporer des indicateurs comme ça par la suite.

Laurent Dardenne écrit:

Générer de la doc d'une fonction, ce ne peut être qu'un squelette,non ?


C'est quelque cjose que je dois traiter. Aprés avoir découvert où les fonctions sont définies faut que je rechercher du \"command based help\"


Laurent Dardenne écrit:

Pour la cartographie, il y a + solutions, Glee ou DGML.


Je garde cela dans un coin, je pensais aussi utiliser Visio.


Laurent Dardenne écrit:

Sur la mailing list MS-MVP il y a eu dernièrement une discussion sur le sujet, si tu veux les qq liens citées, dis le moi.


Pas de soucis, je garde cela derrière la tête.

Laurent Dardenne écrit:

Le projet PSScriptAnalyzer n'est-il pas lié à ton besoin ?


Si, pour les métriques. Mais cela serait des fonctionnalités futur. Pour l'instant, je vise la génération d'un \"rapport\" basique et d'imbrication.

Laurent Dardenne écrit:

Enfin, utilises-tu l'anglais pour la gestion de ton projet ?


N'ayant pas vraiment trouvé d'outil faisant cela, je pense donc utiliser l'anglais pour l'ouvrir au maximum.

Laurent Dardenne écrit:

Etant donné que PS ne supporte pas le side by side, as-tu prévu une plateforme de test ciblant les deux versions ?


Il faut, je me renseigne justement sur le TDD (même si j'ai codé avant au final) et l'intégration continue.

D'ailleurs en parlant de cela, c'est bizarre car TeamCity propose bien d'exécuter un powershell en version : 2.0, 3.0 ou 4.0

J'espère avoir répondu a tes questions ^^

Think-MS : (Get-Life).Days | %{ Learn-More }

\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.110 secondes
Propulsé par Kunena