Codestyle
Váš kód, který budete v rámci předmětu tvořit musí být v souladu s PEP8.
- U domácích úkolů je to kontrolováno automaticky pomocí pylint v unit-testech.
- Pro vlastní ověření využijte buď vaše IDE, nebo např.:
pylint ./yourcode.py --disable=C0301,C0103
, nebo se inspirujte testy z domácích úkolů.- Ale pozor, v semestrálce jasně vyznačte, co je a co není váš vlastní kód!
Všeobecnou výjimku (pro úkoly i semestrálky) z dodržování PEP8 mají dlouhé řádky (C0301) a krátké názvy proměnných (C0103). Myslíme si, že v době širokoúhlých monitorů je požadavek na 79 znaků na řádek poněkud extrémem; a že kratší kód obvykle bývá čitelnější.
U některých domácích úkolů je tolerováno ještě nesplnění následujicích pravidel:
- příliš mnoho lokálních proměnných (R0914)
- příliš mnoho argumentů funkce (R0913)
- příliš obecná výjimka (W0719) - abyste nemuseli dělat vlastní třídu dědící z Exception
- no-member (E1101) - pokud je to v balíčku/modulu 3. strany
Pro detaily prozkoumejte testy, hledejte u metody linter
. Tyto další výjimky už ale neplatí pro kód vašich semestrálních prací! Někdy se tomu nesouladu v rámci SP nedá vyhnout (například při použití knihovny 3. strany – příklad za všechny: pygame) a v takovém případě neřešte nesoulad s PEP8 v kódu 3. strany.
Užitečné příkazy
Rychlý přehled:
pycodestyle --statistics -qq ./
Detailní přehled:
pylint --disable=C0301,C0103 -sn ./code.py
Pro celý projekt rekurzivně:
find . type f -name "*.py" | xargs pylint --disable=C0301,C0103 -sn