Документация Calculate Linux
Вид материала | Документы |
СодержаниеОбщие замечания Табуляция или пробелы? Максимальная длина строки Пустые строки Пробелы в выражениях и операторах Другие рекоммендации |
- В Linux. 2 Приобретение и инсталляция Linux. 3 Учебник по Linux 4 Администрирование, 3589.91kb.
- Gnu/Linux, 51.18kb.
- Лекция 17. Операционная система Linux, 126.24kb.
- Концепция развития спо в РФ 2 История Linux, 105.81kb.
- Windows против Linux, 88.72kb.
- RH253 Сетевые службы Red Hat Linux и администрирование безопасности, 45.9kb.
- Установка ос linux: основные моменты, 83.79kb.
- Исследование возможностей ос linux для приложений реального времени с обработкой разнородной, 98.25kb.
- План лекции «alt linux. Установка и особенности» Заявка на участие в апробации Линукса, 48kb.
- Linux от Пламен Петков По-добрата операционна система Linux?, 1306.19kb.
Общие замечания
Это руководство - о логике программирования. Следование этому руководству в стиле программы - это важно.
Логичность всего проекта - еще более важно. Логичность в пределах одного модуля или функции - самое важное.
Но наиболее важно знать, когда отступить от стиля и логичности. Иногда это руководство просто неприменимо. Если вы затрудняетесь, посмотрите на примеры и решите, что лучше.
Разметка
Отступы
Используйте параметры по умолчанию: 4 пробела на один отступ. Для очень старого кода, в который вы не желаете сильно вмешиваться можете можете продолжать использовать отступы 8 символов.
Табуляция или пробелы?
Никогда не смешивайте пробелы с табуляцией. Самый популярный способ отступов в Питоне - использовать только пробелы. Второй самый популярный способ - только табуляторы. Код, в котором отступы пробелами и табуляторами перемешаны надо перевести к отступам пробелами. Когда вы запускаете Питон с параметром -t, то при использовании смешанных отступов выдаются предупреждения, если задать опцию -tt, то предупреждения станут ошибками. Использование этих опций очень рекомендуется!
Максимальная длина строки
До сих пор существует много устройств, длина строки в которых ограничена 80-ю символами. Поэтому, пожалуйста, установите максимальную длину для всех строк 79 символов.
Наиболее предпочтительный путь для переноса длинных строк - использование встроенного в Питон продолжения строк внутри скобок. Если это необходимо, вы можете использовать дополнительную пару скобок вокруг выражения, но иногда обратный слеш выглядит лучше. Убедитесь, что для перенесенных строк установлен правильный отступ:
class Rectangle(Blob):
def __init__(self, width, height,
color='black', emphasis=None, highlight=0):
if width == 0 and height == 0 and \
color == 'red' and emphasis == 'strong' or \
highlight > 100:
raise ValueError, "sorry, you lose"
if width == 0 and height == 0 and (color == 'red' or
emphasis is None):
raise ValueError, "I don't think so"
Blob.__init__(self, widt, height,
color, emphasis, highlight)
Пустые строки
Отделяйте функции верхнего уровня и объявления классов двумя пустыми строками. Определения методов внутри класса отделяются одной пустой строкой. Дополнительно пустые строки можно использовать для отделения групп родственных фунций. Пустые строки можно опускать внутри связки из одностроковых определений (набора абстрактных методов).
Если пустые строки используются для отделения методов в классе, то вставляйте также пустую строку между строкой "class..." и определением первого метода.
Используйте пустые строки в функциях для указания логических блоков, но не переусердствуйте.
Пробелы в выражениях и операторах
Я (Pet Peeves) ненавижу пробелы в следующих местах:
- Сразу после скобок:
spam( ham[ 1 ], { eggs: 2 } ).
Всегда пишите так:
spam(ham[1], {eggs: 2}).
- Непосредственно перед двоеточием, точкой с запятой, запятой:
if x == 4 : print x , y ; x , y = y , x.
Всегда пишите:
if x == 4: print x, y; x, y = y, x.
- Перед открывающей скобкой при вызове функции:
spam (1)
Всегда пишите:
spam(1)
- Перед открывающими скобками индекса или разреза:
dict ['key'] = list [index].
Всегда пишите:
dict['key'] = list[index].
- Более чем один пробел вокруг присваивания или другого оператора:
x = 1
y = 2
long_variable = 3
Всегда пишите так:
x = 1
y = 2
long_variable = 3
Другие рекоммендации
ВСЕГДА окружайте эти бинарные операторы одинарными пробелами:
- присваивание
- сравнения (==, <, >, !=, <>, <=, >=, in, not in, is, is not),
- Булевы (and, or, not).
Используйте наилучший по вашему мнению выбор при вставке пробелов вокруг арифметических операторов. Всегда будьте последователными при вставке пробелов в обоих частях бинарного оператора:
i = i+1
submitted = submitted + 1
x = x*2 - 1
hypot2 = x*x + y*y
c = (a+b) * (a-b)
c = (a + b) * (a - b)
Не используйте пробелы вокруг знака '=' в случае указания значения по умолчанию:
def complex(real, imag=0.0):
return magic(r=real, i=imag)