2013-03-15 5 views
9

Я недавно начал понимать, что было бы неплохо следовать за PEP 8. Я сделал мой редактор, отображающий отметку в 80 столбцов, и теперь я пытаюсь обернуть строки, чтобы вписаться в нее. Мой вопрос таков. В PEP 8 говорится:Python PEP 8 длина строки docstring

Ограничить все строки не более 79 символов.

Имеет смысл.

[...] Для потоков длинных блоков текста (docstrings или comments) рекомендуется ограничить длину до 72 символов.

Почему 72? Почему не подходит для докстерий или комментариев?

+0

Я немного смущен. Является ли 72-символьный предел для комментариев, включая отступы или нет? –

ответ

9

Я считаю, что это пережиток текстовых документов:

В конце пишущей машинки возраста, большинство конструкций были ориентированы на 72 CPL, полученный из поля 12 символов на дюйм, умноженный на 6 дюймов (см., например, IBM Selectric). Это позволило бы, по крайней мере 1 дюйма для каждого края, с правительством США в то время будучи стандартизированы 8 1/2 × 11" бумаги.

Source

Многие обычные текстовые документы еще соответствует 72 CPL из традиции.

Я думаю, что это так же, как строки документации часто используются в условиях вне кода, так что имеет смысл, чтобы соответствовать стилю наиболее обычные текстовые документы используют, чтобы попытаться оставаться насколько это возможно. Например, текст man страниц обычно завернут на 72 символа. Ограничивая докстроны до 72 символов, это результат help().

This question on Programmers также может быть релевантным.

+1

В качестве комментария - это все догадка - у меня нет источника, в котором говорится, что это причина, мне кажется, это кажется мне вероятным - если у кого-то есть что-то более конкретное, мне было бы интересно. –

+1

Это хорошее предположение. –

+0

Текст добавлен Гвидо в [этот набор изменений] (http://hg.python.org/peps/comparison/5f37d8cda9c1/pep-0008.txt), поэтому вам придется попросить у него его источник. Он может быть подробно описан в списках рассылки. –

5

обычно Строка документации отступа с их функцией, а также начало и конца с тройными кавычками:

def foo(bar, baz): 
    """Frobnicate the foobars into baz 

    Parameters are ham and spammed. 

    """ 

Это 79 - 4 - 3 = 72 символов остались.

+8

Я уверен, что ограничение 72 символов предназначено для их включения. –

+0

Хм, возможно. Не уверенный в себе, но у вас может быть и точка с вашим ответом. –

+0

Это относится только к первой строке документа, правильно? После этого вы ограничены только 79 - 4 = 75 символами. Как можно упростить соблюдение ограничения 72 после первой строки? –

1

Причина, по которой строки должны быть 79 символов, так что они могут входить в терминал шириной 80 символов (видимо, они все еще существуют). Причина, по которой на docstring используется 72 символа, состоит в том, что это означает, что у вас одинаковое дополнение с обеих сторон (в конце концов, docstrings отступают) и по-прежнему вписываются в ширину 80 символов.

+0

Но не 80 символов вписываются в 80 символов широкий терминал тоже ?! –