2014-11-07 31 views
26

PEP8 wyraźnie określa 79 znaków, jednak PyCharm domyślnie przyjmuje wartość 120 i wyświetla ostrzeżenie "PEP8: line too long (...> 120 characters)".Dlaczego PyCharm używa 120 linii znakowych, mimo że PEP8 określa 79?

Czy poprzednie wersje PEP8 używały 120, a PyCharm nie aktualizował kontrolera PEP8? Nie mogłem znaleźć żadnych poprzednich wersji Przewodnika PEP8, jednak mogę łatwo znaleźć poprzednią wersję skryptów Pythona PEP8.

Zaczynam nowy projekt Pythona i nie jestem pewien, którego użyć.

Referencje:

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

+0

jeśli chcesz być zgodny z pep-8, odpowiedź jest w twoim linku –

Odpowiedz

27

PyCharm jest zbudowany na bazie IntelliJ. IntelliJ ma domyślną długość linii 120 znaków.

Jest tak prawdopodobnie dlatego, że nie można dopasować wspólnej nazwy Java, takiej jak: @annotated public static MyObjectFactoryFactory enterpriseObjectFactoryFactoryBuilderPattern { w zwykłym wierszu 80 znaków. (Wkuwam, ale nazwy Javy mają tendencję do bycia dłuższymi według konwencji).

Sprawdzanie pep8 jest konfigurowalne, dzięki czemu można określić lepszą długość linii maks. - 79 znaków.

Błąd jest mylący, ponieważ moduł sprawdzania pep8 formatuje tekst z tekstem podobnym do "PEP8: line too long(... > %s characters)" % max_line_setting. Tak więc używa kontrolera pep8 o określonej konfiguracji, nie twierdząc, że pep8 określa 120-znakową linię.

+0

Myślę, że plugin Intellij Python IS Pycharm dla Intellij. Ale nie powiedziałbym, że Pycharm jest zbudowany na Intellij, który jest najwyższym produktem JetBrains. –

+2

@Apero Według [bloga JetBrains] (http://blog.jetbrains.com/pycharm/2013/10/pycharm-3-0-community-edition-source-code-now-available/) "Kod jest wszystko na GitHub, gotowe do grania. To nie jest oddzielny projekt, ale część głównego projektu IntelliJ IDEA Community Edition ". IntelliJ to tylko Java IDE, dostępny zarówno w wersji społecznościowej "free-as-in-beer", jak i płatnej wersji z dodatkowymi funkcjami. Możesz także kupić wersję PyCharm z podobnymi funkcjami. – munk

+2

Jest to znany problem, który poprawiają się: https://youtrack.jetbrains.com/issue/PY-16078 – phoenix

1

AFAIK, PEP8 zawsze nigdy nie pozwolono 120 znaków, ale nie każdy następująco PEP8. Aby odpowiedzieć na twoje pytanie: pozostań poniżej 80 znaków, zarówno ze zwykłej uprzejmości, jak i zdrowego rozsądku.

+3

Ale twierdzenia PyCharm 120 to PEP8. Dlaczego wprowadzają w błąd ludzi? – Samuel

+3

Odłożę się na odpowiedź @ munkhda, ponieważ nie używam PyCharm. (trzymaj się emacsa, wszystko będzie działać znacznie lepiej ...) –