Почему PyCharm использует 120 строк символов, хотя PEP8 указывает 79?

PEP8 четко указывает 79 символов, однако PyCharm по умолчанию имеет значение 120 и выдает мне предупреждение «PEP8: слишком длинная строка (...> 120 символов)».

Использовали ли предыдущие версии PEP8 120, а PyCharm не обновлял свою программу проверки PEP8? Мне не удалось найти предыдущие версии руководства PEP8, однако я могу легко найти предыдущую версию сценариев PEP8 Python.

Я начинаю новый проект Python и не знаю, что использовать.

Рекомендации:

http://legacy.python.org/dev/peps/pep-0008/


person Samuel    schedule 07.11.2014    source источник
comment
если вы хотите быть совместимым с pep-8, то ответ находится в вашей ссылке   -  person Padraic Cunningham    schedule 07.11.2014


Ответы (3)


PyCharm построен поверх IntelliJ. IntelliJ имеет длину строки по умолчанию 120 символов.

Вероятно, это связано с тем, что вы не можете уместить обычное имя Java, например: @annotated public static MyObjectFactoryFactory enterpriseObjectFactoryFactoryBuilderPattern {, всего в 80-символьной строке. (Я шучу, но имена Java, как правило, длиннее по соглашению).

Средство проверки pep8 настраивается, поэтому вы можете указать лучшую максимальную длину строки — например, 79 символов.

Ошибка вводит в заблуждение, потому что программа проверки pep8 форматирует текст с помощью чего-то вроде "PEP8: line too long(... > %s characters)" % max_line_setting. Таким образом, он использует средство проверки pep8 с определенной конфигурацией, не утверждая, что pep8 указывает строку из 120 символов.

person munk    schedule 07.11.2014
comment
Я думаю, что плагин Intellij Python IS Pycharm для Intellij. Но я бы не сказал, что Pycharm построен поверх Intellij, высококлассного продукта от JetBrains. - person DevLounge; 10.11.2014
comment
@Apero Согласно Блог JetBrains Весь код есть на GitHub, и вы можете с ним поэкспериментировать. Это не отдельный проект, а часть основного проекта IntelliJ IDEA Community Edition. IntelliJ — это просто их Java IDE, которая поставляется как в бесплатной версии для сообщества, так и в платной версии с дополнительными корпоративными функциями. Вы также можете приобрести версию PyCharm с аналогичными функциями. - person munk; 10.11.2014
comment
Это известная проблема, над устранением которой они работают: youtrack.jetbrains.com/issue/PY-16078. - person phoenix; 03.08.2015

Если вы хотите полностью удалить предупреждение об ограничении, вы можете предпринять следующие шаги:

  1. В PyCharm нажмите «Файл» > «Настройки».
  2. В разделе настроек проекта нажмите «Редактор» > «Инспекции».
  3. В появившемся списке разверните Python
  4. В разделе Python прокрутите вниз и нажмите «Нарушение стиля кодирования PEP8».
  5. Нажмите кнопку + рядом с «Игнорировать ошибки» в правом нижнем углу.
  6. Введите E501 и нажмите «Применить» и/или «ОК».

Источники:

person Austin Heller    schedule 08.10.2019

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

person Jon Kiparsky    schedule 07.11.2014
comment
Но PyCharm утверждает, что 120 — это PEP8. Почему они вводят людей в заблуждение? - person Samuel; 07.11.2014
comment
Я отложу ответ @munkhd, так как я не использую PyCharm. (придерживайтесь emacs, все будет работать намного лучше...) - person Jon Kiparsky; 07.11.2014
comment
Из PEP-8 (но я кодирую до 120 символов и иногда тоже нарушаю это ограничение): ... Некоторые команды настоятельно предпочитают более длинную строку. Для кода, поддерживаемого исключительно или главным образом командой, которая может прийти к соглашению по этому вопросу, можно увеличить ограничение длины строки до 99 символов... - person NeilG; 26.07.2019