sharpek.net

moje trzy grosze

Pylint

Często spotykam osoby piszące w Pythonie które nie widzą lub też nie korzystają z dobrodziejstw jakie niesie ze sobą Pylint. W tym wpisie postaram się przybliżyć czym to dokładnie jest i jakie korzyści płyną z używania jego.

Co to takiego ?

Pylint to narzędzie służące do analizy kodu napisanego w Pythonie. Kod jest analizowany pod takimi względami jak:

  • zgodność kodu z PEP
  • błędy składniowe
  • śmieci – niepotrzebne/nieużywane zmienne, moduły, etc.

Na samym końcu kod zostaje poddany ocenie w skali 1-10.

Instalacja

Instalacja jest bardzo prosta, wystarczy w konsoli wpisać:

$ easy_install pylint

Lub jeśli ktoś używa gentoo, wystarczy wykonać:

$ emerge pylint

W innym dystrybucjach robi się to podobnie, tylko zamiast emerge stosuje się odpowiedni do danej dystrybucji manager pakietów.

To wszystko, teraz w katalogu bin naszej dystrybucji, powinien znajdować się plik wykonywalny pylint. Dla sprawdzenia czy wszystko działa wystarczy wpisać:

$ /usr/bin/pylint /sciezka/do/pliku/py

Oczywiście ścieżka może być inna, w zależności od posiadanej dystrybucji. Jako wynik powinien zostać zwrócony wynik analizę kodu.

Eclipse, PyDev i konfiguracja Pylint

Używanie Pylint bezpośrednio w konsoli jest zajęciem raczej dla masochistów. Dlatego osoby korzystające z wtyczki PyDev zadowoli fakt że istnieje możliwość podpięcia Pylint do IDE.

Co to daje ? Kod jest analizowany w czasie edycji, a wszystkie błędy/ostrzeżenia są sygnalizowane tak samo jak inne komunikaty pochodzące z debbugera.

Konfiguracja

Aby skonfigurować Pylint w PyDev należy przejść do edycji ustawień PyDev, a następnie wybrać sekcje Pylint.

Należy zaznaczyć opcję „Use pylint?”, oraz podać prawidłową ścieżkę do pylint (np. /usr/bin/pylint).

Na dole możemy wpisać dodatkowe parametry które zostaną przekazane do pylint.

<del>--disable-msg=C0111,W0312,W0232,R0903,C0103,W0613</del>
--disable=C0111,W0312,W0232,R0903,C0103,W0613

Opcja „–disable-msg” „–disable” spowoduje ignorowanie komunikat o zadanym ID (Na liście błędów mamy podane ich ID). Więcej opcji możemy uzyskać wpisując w konsoli:

$ pylint --help

Moja konfiguracja pylint wygląda tak

Problemy

Jeśli Pylint nie działa, należy upewnić się czy podana jest odpowiednia ścieżka do Pylint oraz do samego Pythona w pydev

Dodano 31.05.2011

Ten wpis się trochę zdezaktualizował, obecnie PyLint nie posiada już opcji –disable-msg, obecnie zaleca się używanie –disabe.

Programiści Django mogą być również zainteresowani możliwością generowania klas członkowskich w modelach Django:

–generated-members=objects

 

Comments

No comments so far.

Leave a Reply

 
(will not be published)
 
 
 
 

Preview: