Защо 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 Е 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 и щракнете върху Прилагане и/или OK

източници:

person Austin Heller    schedule 08.10.2019

AFAIK, 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