Разве это плохо, что я не следую PEP 8 и не обрезаю свои строки до 79 символов? - PullRequest
9 голосов
/ 25 октября 2010

Я думаю, что каждый код Python видел PEP 8 . Часть, которая торчит мне:

Limit all lines to a maximum of 79 characters.

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

Сколько людей на самом деле соблюдает этот предел? Вы все еще следуете этому, если не кодируете в терминале с ограничением в 80 символов? Разве это плохо, что я не следую этому?

Ненавижу, как это ограничение отличается от «руководства по стилю» для Python>. <</p>

Ответы [ 9 ]

9 голосов
/ 25 октября 2010

Вы единственный, кто собирается читать код?

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

  1. Код с глубоким вложением: за этим типом кода трудно следовать, особенно если у вас более 2 уровней вложенности.При чтении кода существует тенденция пропустить другие операторы или забыть, что еще для чего, если при чтении более длинных функций.Попробуйте разбить код на несколько функций для улучшения читабельности.

  2. Сложные выражения: например, когда вы получаете доступ к значению объекта из объекта из объекта ... Или когда вам нужновыполните одну операцию с несколькими значениями из 10 разных мест, и вы объедините все вызовы функций и операторов в одну строку.Вы значительно улучшите читабельность, если будете использовать временные переменные для разделения логики на более мелкие сегменты, которые легче понять.Вам также следует изучить этот .

При этом PEP - это всего лишь руководство.Не стесняйтесь нарушать это, когда вы чувствуете, что оправданы.Если вы нарушаете его большую часть времени, вам нужно пересмотреть способ написания кода.

7 голосов
/ 25 октября 2010

PEP 8:

Но самое главное: знать, когда быть противоречивый - иногда стиль Гид просто не применяется. Когда в сомневаюсь, используйте свое лучшее суждение.

5 голосов
/ 25 октября 2010

Мне трудно читать текст длиной более 80 символов.Мой глаз имеет тенденцию терять ряд, возвращаясь к левому краю.Таким образом, в некотором смысле это не ограничение из-за необходимости просмотра кода на терминале (или в окне cmd, или в xterm), но это требование читаемости.Я иногда нарушаю правило одним или двумя персонажами, но в целом я не против этого.Кроме того, мне вряд ли когда-либо придется использовать символ продолжения, так как я использую преимущество неявного продолжения в списках.

3 голосов
/ 25 октября 2010

Я установил в своем редакторе показ 80-символьной предельной строки и использую ее как предупреждение, а не как знак остановки.Если я смогу аккуратно продолжить линию до следующей строки, прежде чем перейти к пределу, я сделаю это.Однако, если вставка продолжения затрудняет чтение или вводит в заблуждение, у меня длинная очередь.Я не буду усложнять чтение кода только ради руководства.

2 голосов
/ 28 июля 2015

Нет пути.

✔ Мои аргументы:

  • Все, что находится за пределами 80 символов, является частью менее важной логики.(При необходимости люди могут прокручивать вправо)
  • При соблюдении этого правила эти неважные коды появляются перед моими глазами, чтобы загромождать
  • Нужно прокручивать вертикально на огромные расстояния, которые хуже, чем горизонтальная прокрутка.
  • Большинство современных редакторов имеют функцию soft-wrap , которая автоматизирует это для любого выбора предела длины (не только 80)
  • Soft-wrap в современных редакторах является нажатием клавиши.прочь, это означает, что можно получить лучшее из обоих миров, если линии останутся такими, как есть.

Линус Торвальдс ' Аргументы:

  • grep или команда "найти в файлах" завершится ошибкой, так как некоторыерезультаты будут пропущены.
  • Вертикальный предел (терминал VT100) более болезненный, чем горизонтальный предел 80 символов

✔ Вердикт:

It's like try-
ing to read
a news arti-
cle written
like this.
1 голос
/ 25 октября 2010

Как и все руководства по стилю, это просто руководство . Вам решать, будете ли вы этим следовать или нет. Основная цель - последовательность.

Тем не менее, я бы рекомендовал принять ограничение в ~ 80 символов по следующим причинам.

  1. Это облегчает чтение сложного кода.
  2. Привыкайте сейчас, когда вы работаете над совместными проектами.
  3. Это показывает профессионализм.
1 голос
/ 25 октября 2010

Пока вам не нужно прокручивать горизонтально на вашем широком мониторе (потому что я видел это).

1 голос
/ 25 октября 2010

Вы можете делать все, что захотите, если это ваша кодовая база. Если это кто-то другой, тогда вы должны играть по их правилам. У Google, например, есть 2 символьных отступа, но в PEP 8 сказано использовать 4 пробела. Я полагаю, что это цитата Гвидо о программировании с двумя пробелами днем ​​и четырьмя пробелами ночью.

Мне нравится ограничение по количеству символов даже на широкоэкранном мониторе, потому что тогда я могу размещать кадры кода рядом.

Стиль кода - это все о личных предпочтениях. Важной частью является последовательность. Так что пишите ваш код Python в любом случае, который делает вас счастливым.

0 голосов
/ 25 октября 2010

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

Если вы не передаете свой код и не планируете этого делать, делайте что хотите.

Если вы планируете когда-нибудь поделиться какой-то частью своего кода, тогда вы должны следовать PEP8. Я имею в виду, наверное, никого не волнует, если несколько строк состоят из 85 символов. Но код будет трудно читать, если его длина составляет более 200 символов. Если вы когда-либо читали газету, та же проблема возникает при форматировании текста с использованием столбцов.

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

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

...