Jdi na navigaci předmětu

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