Najlepsza odpowiedź
Istnieje wiele narzędzi do wykonywania analizy statycznej w programowaniu w Pythonie.
- Pylint → Narzędzie open source
- Kiuwan → Narzędzie komercyjne
- Pyflakes i tak dalej.
Użyłem Pylint i Kiuwan.
Pylint może znaleźć następujące rzeczy:
- sprawdzenie długości kodu linii,
- sprawdzenie, czy nazwy zmiennych są poprawnie sformułowane zgodnie ze standardem kodowania
- sprawdzenie, czy używane są zaimportowane moduły
- sprawdzenie, czy zadeklarowane interfejsy są rzeczywiście zaimplementowane
- sprawdzenie, czy moduły zostały zaimportowane
Kiuwan może obsługiwać poniższe zestawy reguł:
- Unikaj zakodowania adresów IP na stałe
- Powielony kod
- Unikaj używania domyślnych zmiennych parametrów
- Unikaj używania exec () funkcja
- Unikaj przypisań do Prawda lub Fałsz
- Unikaj łańcuchowych porównań zawierających operator równości
- Unikaj zbyt złożonych funkcji
- Otwieraj pliki usin g instrukcja with
- Unikaj używania przestarzałych modułów
- metoda \_init\_ nie może być generatorem
Lepszą opcją jest sprawdzenie, czy istnieje wiele narzędzi i zdecyduj, które narzędzie idealnie pasuje do wymagań.
Odpowiedź
Używam pyflakes do sprawdzania kodu wewnątrz Vima i uważam to za bardzo przydatne. Mimo to pylint jest lepszy do sprawdzania kodu przed zatwierdzeniem. Powinieneś mieć dwa poziomy sprawdzania kodu: błędy, których nie można zatwierdzić i ostrzeżenia, które pachną kodem, ale można je zatwierdzić. Możesz to skonfigurować i wiele innych rzeczy za pomocą pylinta.
Czasami możesz pomyśleć, że pylint jest zbyt wybredny: może narzekać na coś, co uważasz za całkowicie w porządku. Pomyśl o tym dwa razy. Bardzo często stwierdzałem, że ostrzeżenie, które kilka miesięcy temu uważałem za zbyt konserwatywne, było w rzeczywistości bardzo dobrą radą.
Więc moja odpowiedź brzmi, że pylint jest niezawodny i solidny, a ja nie znam o wiele lepszego kodu analizator.