La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

SciTools Understand A Source Code Analysis and Metrics Tool

Présentations similaires


Présentation au sujet: "SciTools Understand A Source Code Analysis and Metrics Tool"— Transcription de la présentation:

1 SciTools Understand A Source Code Analysis and Metrics Tool
Philippe CHARMAN Last update:

2 Prise en mains de l’outil Understand de SciTools
Understand outil d’analyse de source code: Calcul des métriques qualité Vérification des règles de programmation usuelles Très nombreux langages supportés: Java, C/C++, Ada, Pascal, Cobol, Fortran, Python, PHP, Javascript, etc.

3 Prise en mains de l’outil Understand de SciTools
Installer Understand 3.1 à partir de: Understand Windows-32bit.exe Understand Linux-32bit.tgz Licence d’évaluation valide pendant 15 jours Web site:

4 Analyse d’un projet C++
Ouvrir le projet fastgrep: Help > Example Projects > fastgrep Les sources sont dans: C:\Program Files\SciTools3.0\sample\fastgrep

5 Analyse d’un projet C++
Regardez comment est configuré le projet: Project > Configure Projet Configuration liée au code source: Langages: C/C++ Files: liste des fichiers du projet C++: compilateur, etc. Visual Studio Includes: fichiers d’include hors ceux du compilateur Macros: Configuration liée à d’autres éléments: File Types: association extension <-> langage File Options: divers fichiers Scheduled Activities: programmation des analyses Metrics: exportation des metriques en CSV Reports: generation rapports HTML ou texte

6 Afficher les métriques de base
Metrics > Metrics Summary

7 Afficher les métriques de base
Lines: nombre de toutes les lignes Blank Lines: nombre de lignes vides Comment Lines: nombre de lignes de commentaires Code lines: nombre de lignes contenant du code source Inactive Lines: lignes ignorées par le préprocesseur, ie dans le ne faisant pas partie des #if ou #ifdef Pourquoi n’a-t-on pas forcément: Comment Lines + Blank Lines + Code Lines + Inactives Lines = Total Lines ?

8 Analyse d’un projet C++
Projects -> Project Overview Charts

9 Analyse d’un projet C++
CodeCheck > Open CodeCheck Files: Select All Files Checks: select All Checks Click on Analyse Different views of results: Results by File Results by Check Result Locator Result Treemap

10

11 Configuration des règles
Parametrez certaines règles: Magic numbers -> exceptions Etc. Puis relancer l’analyse

12 Analyse d’un projet C++
Bugs potentiels: Test equality for floating point Virtual Function Call In Constructor/Destructor Switch Has Default etc.

13 Analyse d’un projet C++
Code inutilisé Unused Functions Unused Local Variables Unused Static Globals

14 Analyse d’un projet C++
Pratiques recommandées: Functions Too Long Overly Comples Functions Variables should be commented Do not use #define to specify types Use Const whenever possible Definitions in Header Files Scope Hiding Inline Functions have more than X LOC Etc.

15 Analyse d’un projet Java
Ouvrir le projet getopt Help -> Example Projects -> getopt Les sources sont dans: C:\Program Files\SciTools\sample\fastgrep

16 Analyse d’un projet Java
Regardez comment est configuré le projet: Project > Configure Projet Configuration liée au code source: Langages: Java Files: liste des fichiers du projet Visual Studio: pour spécifier un projet Visual Studio existant Java: compilateur, etc. Class path: définir le class path Configuration liée à d’autres éléments: File Types: association extension <-> langage File Options: divers fichiers Scheduled Activities: programmation des analyses Metrics: exportation des metriques en CSV Reports: generation rapports HTML ou texte

17 Analyse d’un projet Java
Metrics -> Metrics Summary Combien de lignes de code ? Project -> Project Overview Chart Quelles sont les fonctions les plus complexes ? Quelles sont les fonctions les plus longues ? CodeCheck -> Open CodeCheck

18 Exercice sur un des vos projets
Créez un nouveau projet Understand avec un de vos projets Java ou C++ Générez les métriques qualités Analysez avec CodeCheck Conclusion: bugs trouvés ? Quels sont les règles qui vous semblent les plus importantes ? Celles qui vous semblent les moins importantes ?

19 Pour aller plus loin … Les règles de programmation sont en fait écrites en script Possibilité d’écrire ses propres règles de programmation


Télécharger ppt "SciTools Understand A Source Code Analysis and Metrics Tool"

Présentations similaires


Annonces Google