Что такое PEP8?
PEP8 - это рекомендательная документация по стилистике написания кода на Python.
Она содержит в себе такие правила как: размер отступов, правильное именование переменных, то как должна выглядеть документация в самих модулях и так далее.
Всё это направлено на улучшение читаемости и "чистоты" кода.
Как всё запомнить?
Запоминать вовсе ничего не обязательно, хотя такие базовые вещи, как более менее правильные названия переменных стоит знать.
Существуют такие инструменты разработчика как Linter.
Википедия даёт такое определение:
Линт, или Линтер, - это инструмент, который анализирует исходный код, чтобы отметить ошибки программирования, ошибки, стилистические ошибки и подозрительные конструкции.термин происходит от утилиты Unix, которая изучала исходный код языка Си.
Тут ещё написано, что они были изобретены целый 41 год назад!
Впрочем вернёмся к Python:
Для него существует, например, пакет Pylint, который можно установить командой:
pip install pylint
После установки, можем начинать работу над качеством кода.
Допустим у нас есть код, не важно какой, но как же его проверить на "правильность"? Очень просто.
Нужно всего лишь, в командной строке, перед названием программы написать pylint. Вот так:
pylint program.py
Пример использования
Возьмём программу, которая реализует класс. Её суть нам не важна, так как в классическом понимании мы её выполнять не будем. Она выглядит так:
Будет хороший пример, так как тут использованы разные структуры(классы, функции, переменные). Линтеру будет к чему придраться).
Программа также содержит комментарии, к которым тоже есть требования по стилистике, посмотрим насколько они соответствуют стандартам
Так, начнём же!
pylint test_class.py
Результат:
Нам вывело кучу замечаний, а в самом низу оценку по 10-ти балльной шкале.
Первые два замечания говорят о том, что при указании аргументов по умолчанию в определении функции, не должно быть пробелов перед и после =
Исправим это:
и посмотрим как отреагирует общая оценка:
Замечание исчезло, а оценка повысилась, причем рядом указан предыдущий результат и разница с текущим.
Далее идёт missing module docstring - это значит, что мы не написали строку документации относительно всего модуля. То есть в самой первой строке файла, требуется кратко указать, что делает наша программа:
Кстати, такое требование есть также к классам и функциям, как к самостоятельным кускам кода. То есть мы молодцы, что провели декомпозицию, но документация лишней не будет.
Оценка повысилась ещё немного.
В общем, суть вы поняли. Разбирать каждое замечание по отдельности смысла нет. Каждый сможет разобраться в его сути зная английский язык и имея доступ к интернету.
Думаю я смог показать то как работает инструмент по отслеживанию стилистики кода.