Question [Module] PSAnalysis
- Richard Lazaro
- Auteur du sujet
- Hors Ligne
- Membre platinium
- Messages : 530
- Remerciements reçus 0
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.
- Laurent Dardenne
- Hors Ligne
- Modérateur
- Messages : 6300
- Remerciements reçus 68
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.
- Richard Lazaro
- Auteur du sujet
- Hors Ligne
- Membre platinium
- Messages : 530
- Remerciements reçus 0
(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.
- Laurent Dardenne
- Hors Ligne
- Modérateur
- Messages : 6300
- Remerciements reçus 68
Ok, tu cibles donc une des étapes d'un process d'intégration continue.L'objectif est d'avoir un outil pour analyser du code PS.
Richard Lazaro écrit:
'facilement' pour l'utilisateur d'un code (toi le premier).Connaitre facilement les dépendances des fonctions entre elles,
Richard Lazaro écrit:
Tu veux dire, déterminer une règle d'alerte selon le nombre d'imbrication ?la complexité au niveau de l'imbrication (if dans un if dans un foreach ...ect)
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:
Similaire à Pester ?(Par la suite, voir pour mettre en place un analyse de la couverture aussi.)
Richard Lazaro écrit:
C'est ambitieux !Le tout va me générer un arbre pour derrière générer de la documentation automatiquement (description des fonctions, imbrications, map)
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:
Ayant réaliser beaucoup de maintenance de code(Delphi,Oracle,C#) sans les outils adéquat, je comprends parfaitementJ'en ai ressenti le besoin lorsque j'ai du reprendre en main un projet d'une autre personne : 10000 lignes et 55 fonctions.
A mon avis, ton futur outil est dédié aux scripteurs avancés.
Richard Lazaro écrit:
ça tombe sous le sens.Par contre niveau version de PS c'est mini 3.0 vu que je me base sur le Parser AST.
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.
- Laurent Dardenne
- Hors Ligne
- Modérateur
- Messages : 6300
- Remerciements reçus 68
Richard Lazaro écrit:
Etant donné que PS ne supporte pas le side by side , as-tu prévu une plateforme de test ciblant les deux versions ?Par contre niveau version de PS c'est mini 3.0 vu que je me base sur le Parser AST.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Richard Lazaro
- Auteur du sujet
- Hors Ligne
- Membre platinium
- Messages : 530
- Remerciements reçus 0
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.
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Contributions à la communauté
- [Module] PSAnalysis