Изучаем PEP
8 по частям. Часть 3, Code
lay-out.
Излагаю смысл
своими словами.
Для выравнивания
блоков кода используйте 4 пробела.
Длинный текст,
размещаемый на нескольких строках кода,
выравнивается по скобкам или, сделав
перенос сразу после открывающейся
скобки, так, чтобы их нельзя было спутать
с другими блоками.
Длинное
выражение условия в «if», разбитое на
несколько строк, выравнивать можно по
разному, хотя оно автоматически получается
сдвинутым на 4 позиции, ибо «if (» содержит
4 символа.
Закрывающие
скобки в многострочном коде могут быть
выровнены по первому символу сдвинутого
блока, а могут — по первому символу
начала всей конструкции.
Не используйте
строки длиннее чем 79 буков. Для емких
докстрингов и комментариев используйте
длину строки в 72 буквы. 79 выбрано, чтобы
у автоматических врапперов не было
соблазна сделать перенос строки (80 ±
1).
Для разбивки
длинных строк используйте скобки, хотя,
если очень хочется, можно использовать
бэкслеш.
Если в строке
есть бинарный оператор, разрывайте
строку после него, никак не перед.
Отбивайте
функции верхнего уровня (в модуле) и
определения классов двумя пустыми
строками.
Определения
методов в классе отбивайте одной строкой.
Можно использовать
дополнительные пустые строки для
разделения разных групп функций.
Внутри функций
можно использовать пустые строки для
отбивки логических секций.
Текст кода
должен быть в кодировке UTF-8.
Идентификаторы
записываются только в ASCII. Используйте
в коде только английские слова и текст
в ASCII, по возможности.
Импорт (import)
нужно разбивать на отдельные строки,
по одному импорту на строке.
Импорты всегда
идут первыми, сразу после комментариев
и докстрингов модуля.
Импорты
сортируются и группируются по порядку:
stdlib, third party, local.
Между группами
импортов вставлять пустую строку.
Рекомендованы
абсолютные импорты.
Однако, допустимы
явные относительные импорты, если иначе
получается слишком многословно.
Избегайте
импортов «*» wildcard.
original post http://vasnake.blogspot.com/2014/09/pep-8-code-lay-out.html
Комментариев нет:
Отправить комментарий