Разве это плохо, что я не следую PEP 8 и не обрезаю линии на 79 символов?

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

Limit all lines to a maximum of 79 characters.

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

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

Я ненавижу, как это ограничение отличается от "руководства по стилю" для Python >.<

9 ответов

ПКП 8:

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

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

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

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

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

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

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

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

Ни за что!.

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

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

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

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

✔ вердикт:

It's like try-
ing to read
a news arti-
cle written
like this.

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

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

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

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

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

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

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

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

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

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

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

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

Другие вопросы по тегам