Программисты тратят огромное количество времени на чтение старого кода, чем на написание нового, «соотношение времени, потраченного на чтение и запись, намного превышает 10: 1», по словам дяди Боба, автора бестселлера Чистый код: Справочник Мастерство гибкого программного обеспечения. Чтобы код Python оставался читабельным и красивым, вы можете следовать руководству по стилю PEP8.

Полный список рекомендаций PEP8 можно найти на официальном сайте Python.

Я хотел бы выделить несколько моментов ниже.

Используйте 4 пробела для отступа блоков кода.

Вы должны сохранять отступы табуляции только для единообразия уже существующей базы кода и никогда не смешивайте табуляции и пробелы. Python 3 в любом случае не позволяет этого. Нажатие 4 пробелов может показаться утомительным, но многие текстовые редакторы, такие как Sublime, могут автоматически заменять табуляции на 4 пробела.

Длина строки не должна превышать 80 символов.

Исторически это ограничение возникло из-за того, что терминалы на старых компьютерах могли умещать 79 символов, но короткие строки по-прежнему удобны, потому что на экране можно разместить несколько окон с кодом. Это правило не высечено, и многие профессионалы, такие как Раймонд Хеттингер, рекомендуют увеличить максимальную длину до 99 или даже 120 символов. С одной стороны, вы не должны жертвовать такими важными вещами, как описательный идентификатор, но с другой стороны, если ваша строка слишком длинная, вы должны подумать, что, возможно, вы пытаетесь вместить в строку слишком много логики.

«Особых случаев недостаточно, чтобы нарушать правила. Хотя практичность лучше чистоты »(« Дзен Питона », Тим Питерс).

Правила для комментариев.

Комментарии блока не должны быть длиннее 72 символов. Встроенные комментарии должны иметь отступ как минимум в 2 пробела от кода и быть редкими. Также комментарии должны быть актуальными и актуальными.

Что-то необычное.

Для новых проектов рекомендуется разрыв строки перед бинарным оператором.

# From https://www.python.org/dev/peps/pep-0008/#id20
income = (gross_wages
          + taxable_interest
          + (dividends - qualified_dividends)
          - ira_deduction
          - student_loan_interest)

Это выглядит странно, но легче читать, когда операторы находятся в одном столбце.

Нет необходимости запоминать каждое правило PEP8, поскольку у нас есть множество инструментов для проверки стиля.

PEP8 онлайн. Подходит для небольших проектов. Просто скопируйте свой код, и инструмент покажет все проблемы построчно.

PyCharm IDE имеет встроенный валидатор PEP8. Он проверяет нарушения PEP8 на лету.

Flake8: инструмент для обеспечения соблюдения правил стиля. Может сканировать ваш проект на предмет стилистических ошибок, интегрироваться с IDE и редакторами. У него также есть перехватчики контроля версий, поэтому вы не можете зафиксировать код, нарушающий PEP8.

Использование PEP8 - хорошая привычка. Это делает код Python читаемым и согласованным для нескольких участников. Однако есть некоторые ограничения:

  • фанатизм PEP8 может сместить ваш фокус, и вы не увидите леса за деревьями;
  • PEP8 необходим, но недостаточен для хорошо читаемого кода Python;

Чтобы узнать, что выходит за рамки PEP8, я рекомендую великолепную презентацию Раймонда Хеттингера.