Найти тему
IT для всех

Python. Как следить за чистотой кода?

Оглавление

Что такое PEP8?

PEP8 - это рекомендательная документация по стилистике написания кода на Python.

Она содержит в себе такие правила как: размер отступов, правильное именование переменных, то как должна выглядеть документация в самих модулях и так далее.

Всё это направлено на улучшение читаемости и "чистоты" кода.

Как всё запомнить?

Запоминать вовсе ничего не обязательно, хотя такие базовые вещи, как более менее правильные названия переменных стоит знать.

Существуют такие инструменты разработчика как Linter.

Википедия даёт такое определение:

Линт, или Линтер, - это инструмент, который анализирует исходный код, чтобы отметить ошибки программирования, ошибки, стилистические ошибки и подозрительные конструкции.термин происходит от утилиты Unix, которая изучала исходный код языка Си.

Тут ещё написано, что они были изобретены целый 41 год назад!

Впрочем вернёмся к Python:

Для него существует, например, пакет Pylint, который можно установить командой:

pip install pylint

После установки, можем начинать работу над качеством кода.

Допустим у нас есть код, не важно какой, но как же его проверить на "правильность"? Очень просто.

Нужно всего лишь, в командной строке, перед названием программы написать pylint. Вот так:

pylint program.py

Пример использования

Возьмём программу, которая реализует класс. Её суть нам не важна, так как в классическом понимании мы её выполнять не будем. Она выглядит так:

Будет хороший пример, так как тут использованы разные структуры(классы, функции, переменные). Линтеру будет к чему придраться).

Программа также содержит комментарии, к которым тоже есть требования по стилистике, посмотрим насколько они соответствуют стандартам

Так, начнём же!

pylint test_class.py

Результат:

-2

Нам вывело кучу замечаний, а в самом низу оценку по 10-ти балльной шкале.

Первые два замечания говорят о том, что при указании аргументов по умолчанию в определении функции, не должно быть пробелов перед и после =

Исправим это:

-3

и посмотрим как отреагирует общая оценка:

-4

Замечание исчезло, а оценка повысилась, причем рядом указан предыдущий результат и разница с текущим.

Далее идёт missing module docstring - это значит, что мы не написали строку документации относительно всего модуля. То есть в самой первой строке файла, требуется кратко указать, что делает наша программа:

-5
Кстати, такое требование есть также к классам и функциям, как к самостоятельным кускам кода. То есть мы молодцы, что провели декомпозицию, но документация лишней не будет.
-6

Оценка повысилась ещё немного.

В общем, суть вы поняли. Разбирать каждое замечание по отдельности смысла нет. Каждый сможет разобраться в его сути зная английский язык и имея доступ к интернету.

Думаю я смог показать то как работает инструмент по отслеживанию стилистики кода.

Наука
7 млн интересуются