Почему PEP-8 указывает максимальную длину строки в 79 символов?

Почему в этом тысячелетии Python PEP-8 определяет максимальную длину строки в 79 символов?

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

Есть ли (законно) веские основания придерживаться 79 символов в этом возрасте?

Ответ 1

Большая часть значения PEP-8 состоит в том, чтобы запретить людям спорить о несущественных правилах форматирования и продолжать писать хороший, последовательно отформатированный код. Несомненно, никто не думает, что 79 оптимален, но нет очевидного выигрыша в его изменении до 99 или 119 или любой другой предпочтительной длины линии. Я считаю, что выбор таков: следуйте правилу и найдите достойную причину для битвы или предоставите некоторые данные, которые демонстрируют, насколько читаемость и производительность зависят от длины строки. Последнее было бы чрезвычайно интересно, и у меня был бы хороший шанс изменить мнение людей, я думаю.

Ответ 2

Сохранение вашего кода для чтения человеком, а не только для машинного чтения. Многие устройства по-прежнему могут отображать только 80 символов за раз. Кроме того, это облегчает для людей с большими экранами многозадачность, имея возможность настроить несколько окон, которые будут бок о бок.

Считываемость также является одной из причин принудительного отступов строки.

Ответ 3

Я считаю, что те, кто изучает типографику, скажут вам, что 66 символов в строке должны быть самой читаемой шириной для длины. Тем не менее, если вам нужно отлаживать машину удаленно по сеансу ssh, большинство терминалов по умолчанию равно 80 символам, 79 просто подходит, пытаясь работать с чем-либо более широким, становится настоящей болью в таком случае. Вы также были бы удивлены количеством разработчиков, использующих vim + screen в качестве повседневной среды.

Ответ 4

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

Как программист, я считаю полезным открыть сразу несколько исходных файлов и часто организовывать мой рабочий стол на моем (широкоэкранном) мониторе, чтобы два исходных файла были рядом. Я мог бы программировать в обоих, или просто читать один и программировать в другом.

Я нахожу это неудовлетворительным и разочаровывающим, когда один из этих исходных файлов имеет ширину > 120 символов, потому что это означает, что я не могу комфортно подогнать строку кода на линии экрана. Это расстраивает форматирование для переноса строки.

Я говорю "120", потому что уровень, на который меня будет раздражать код, будет шире. После этого много символов, вы должны делиться по строкам для удобства чтения, не говоря уже о стандартах кодирования.

Я пишу код с учетом 80 столбцов. Это просто так, что, когда я пропадаю по этой границе, это не так уж плохо.

Ответ 5

Печать моноширинного шрифта по умолчанию - это (на бумаге формата А4) 80 столбцов на 66 строк.

Ответ 6

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

Ответ 7

Вот почему мне нравится 80-значный код: на работе я использую Vim и работаю по двум файлам одновременно на мониторе, работающем на, я думаю, 1680x1040 (я никогда не помню). Если строки больше, у меня проблемы с чтением файлов, даже при использовании переноса слов. Излишне говорить, что я ненавижу общаться с кодом других людей, поскольку они любят длинные строки.

Ответ 8

Так как пробел имеет смысловое значение в Python, некоторые методы переноса слов могут приводить к неправильным или неоднозначным результатам, поэтому для избежания подобных ситуаций должен быть определенный предел. Длина линии 80 символов была стандартной, так как мы использовали телетайпы, поэтому 79 символов выглядят довольно безопасно.

Ответ 9

потому что если вы выталкиваете его за пределы 80-го столбца, это означает, что либо вы пишете очень длинную и сложную строку кода, которая делает слишком много (и поэтому вы должны реорганизовать), либо слишком сильно отступали (и поэтому вы должны рефакторинг).

Ответ 10

Я согласен с Джастином. Чтобы уточнить, чрезмерно длинные строки кода сложнее читать люди, а некоторые люди могут иметь ширины консоли, которые вмещают только 80 символов в строке.

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