Jak sprawdzać zgodność kodu Pythona z PEP8
- Opublikowano July 9, 2009
- komentarze 13
Znalazłem ostatnio bardzo fajne narzędzie do sprawdzania czy kod Pythona jest zgodny z zalecanym stylem pisania kodu w Pythonie(PEP8). Jest to skrypt uruchamiany z konsoli który sprawdza czy wskazany moduł jest zgodny z PEP8.
Przykład użycia:
$ pep8.py --filename=*.py --show-source --show-pep8 /sciezka/do/projektu/ parts/djangopl/sitemaps.py:14:5: E301 expected 1 blank line, found 0 def changefreq(self, obj): ^ Separate top-level function and class definitions with two blank lines. Method definitions inside a class are separated by a single blank line. Extra blank lines may be used (sparingly) to separate groups of related functions. Blank lines may be omitted between a bunch of related one-liners (e.g. a set of dummy implementations). Use blank lines in functions, sparingly, to indicate logical sections. ...
parametry:
- filename - wzorzec jakie pliki mają być brane pod uwagę
- show-source - przy każdym błędzie będzie wypisany kawałek kodu i wskazane w którym miejscu jest błąd
- show-pep8 - do każdego błędu będzie podane wyjaśnienie z dokumentu PEP8
Wynik działania prezentuje się bardzo ładnie i można szybko wychwycić gdzie jest błąd i zobaczyć dlaczego tak nie powinno się pisać kodu w Pythonie.
Znalazłem też opis jak zintegrować sprawdzanie zgodności z PEP8 z testami wykorzystywanymi w systemie typu continuous integration:
http://www.ajaxline.com/continuous-integration-in-django-project
Przydatne linki związane z PEP8: