LGTM/pl

Informacje ogólne
LGTM to narzędzie do analizy kodu, które może być zintegrowane z wieloma systemami kontroli wersji oprogramowania online i obsługuje kilka różnych języków. Jest to doskonałe narzędzie do sprawdzania jakości kodu, identyfikujące problemy z kodem, które często są pomijane przez inne narzędzia do sprawdzania kodu i lintery.

LGTM doskonale nadaje się jako narzędzie do analizy kodu do opracowywania środowisk pracy FreeCAD Python i innych małych i średnich projektów. Ta strona zawiera przegląd tego, jak rozpocząć korzystanie z LGTM w środowisku pracy FreeCAD przygotowanym w Python.



Rozpoczęcie pracy
Rozpoczęcie pracy z LGTM zależy od używanej platformy kontroli wersji online. Dokumentacja LGTM dla automatycznego przeglądu kodu zawiera dobry przegląd tego, jak zintegrować LGTM z projektem dla kilku platform.

Ponadto możliwe jest przeprowadzenie szerokiego zakresu dogłębnych analiz kodu w LGTM, co wykracza poza zakres tego samouczka. Więcej informacji na ten temat można znaleźć w dokumentacji LGTM na stronie konfigurowanie analizy kodu.



Uzyskiwanie rezultatów
Po skonfigurowaniu LGTM i zapewnieniu dostępu do repozytoriów kodu, analizy są zwykle wykonywane codziennie w repozytorium. Tak więc wypchnięte zmiany nie przyniosą natychmiastowych wyników. Możliwe jest, aby LGTM analizował pull requesty po ich przesłaniu, jak opisano w dokumentacji LGTM.

Reviewing the results simply requires logging in to your LGTM dashboard and selecting the desired project. From there, code analyses will provide a list of issues (like bugs, bad coding practices, useless/irrelevant/unused code, etc.) for your perusal. In addition LGTM provides overall code 'ratings' (A, B, C, D) depending on the number of issue you have compared to the overall size of your project.

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.

Creating a .lgtm.yml File
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:

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.

Relevant Links

 * Continuous Integration
 * LGTM FreeCAD forum discussion thread
 * FreeCAD .lgtm.yml file on Github
 * freecad.trails .lgtm.yml on Github