LGTM

From FreeCAD Documentation
Revision as of 11:17, 20 October 2019 by Mario52 (talk | contribs) (Created page with "Pour visualiser les résultats, vous devez simplement vous connecter à votre tableau de bord LGTM et sélectionner le projet souhaité. À partir de là, les analyses de code...")
Other languages:

Vue d'ensemble

LGTM est un outil d'analyse de code pouvant être intégré à plusieurs systèmes de contrôle de version de logiciel en ligne et prenant en charge plusieurs langues. C'est un excellent vérificateur de la qualité du code, identifiant les problèmes de code qui sont souvent oubliés par les autres vérificateurs de code et les linters.

LGTM convient parfaitement comme outil d’analyse de code pour le développement d’ateliers en Python de FreeCAD et d’autres projets de petite et moyenne taille. Cette page fournit un aperçu de la mise en route de LGTM avec un atelier Python pour FreeCAD.

Commencer

La prise en main de LGTM dépend de la plate-forme de contrôle de version en ligne que vous utilisez. La documentation LGTM pour automated code review fournit un bon aperçu de la façon d'intégrer LGTM à votre projet pour plusieurs plates-formes.

En outre, il est possible d'effectuer une large gamme d'analyses approfondies du code sur LGTM, ce qui dépasse le cadre de ce tutoriel. Vous pouvez en savoir plus à ce sujet dans la documentation de LGTM sur configuring code analysis.

Résultats

Une fois que vous avez configuré LGTM et fourni l'accès à vos référentiels de code, les analyses sont généralement effectuées quotidiennement sur le référentiel. Ainsi, les changements poussés ne produiront pas de résultats immédiats. Il est possible que LGTM analyse les demandes d'extraction lorsqu'elles sont soumises, comme décrit dans la documentation LGTM.

Pour visualiser les résultats, vous devez simplement vous connecter à votre tableau de bord LGTM et sélectionner le projet souhaité. À partir de là, les analyses de code fourniront une liste de problèmes (tels que des bugs, de mauvaises pratiques de codage, du code inutile/non pertinent/non utilisé, etc.) pour votre lecture attentive. En outre, LGTM fournit des «cotes» de code globales (A, B, C, D) en fonction du nombre de numéros que vous avez comparés à la taille globale de votre projet.

Probably, the most useful, immediate way to manage the results of your code analysis is simply filtering out files in your project that you don't want analyzed. That is, suppose you're developing new code that is incomplete, keeping around legacy code that is otherwise unused, or have a good deal of testing code that doesn't need analysis. LGTM provides file classification, an easy way to filter those files so they don't pollute your analysis results.

To enable file classification, first create a file named ".lgtm.yml" in your projects top-most directory. Then, in that file, add some classifications.

Below is an example from the FreeCAD Trails Python workbench:

path_classifiers:
  template:
    - freecad/trails/resources
    - freecad/trails/project/commands/command_template.py
    - freecad/trails/init_gui.py
 
  test:
    - freecad/trails/project/commands/spiral_test.py
    - freecad/trails/TestFPO.py
 
  legacy:
    - freecad/trails/corridor/loft
    - freecad/trails/alignment/VerticalAlignment.py
    - freecad/trails/alignment/VerticalCurve.py
    - freecad/trails/alignment/GenerateVerticalAlignment.py
    - freecad/trails/alignment/ImportVerticalCurve.py
    - freecad/trails/corridor/template/TemplateLibrary.py

Note that indent levels are important in LGTM. Incorrect indenting will result in failed file classification.

Also, some classifications (like 'template' and 'test') are used by LGTM for queries and other analysis components. You may also define your own custom tags, which will filter code and provide additional queryable results.