2014-11-07 2 views
26

PEP8 specifica chiaramente 79 caratteri, tuttavia, PyCharm imposta il valore predefinito su 120 e mi dà l'avviso "PEP8: linea troppo lunga (...> 120 caratteri)".Perché PyCharm utilizza 120 linee caratteri anche se PEP8 specifica 79?

Le versioni precedenti di PEP8 utilizzano 120 e PyCharm non aggiornano il suo correttore PEP8? Non sono riuscito a trovare alcuna versione precedente della Guida PEP8, tuttavia, posso facilmente trovare la versione precedente degli script Python PEP8.

Sto avviando un nuovo progetto Python e non sono sicuro di quale usare.

Riferimenti:

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

+0

se si desidera essere conformi a pep-8, la risposta è nel collegamento –

risposta

27

PyCharm è costruito sopra IntelliJ. IntelliJ ha una lunghezza di riga predefinita di 120 caratteri.

Ciò è probabilmente dovuto al fatto che non è possibile adattare un nome Java comune come: @annotated public static MyObjectFactoryFactory enterpriseObjectFactoryFactoryBuilderPattern { in una riga di 80 caratteri. (Mi sto divertendo, ma i nomi di Java tendono ad essere più lunghi per convenzione).

Il checker pep8 è configurabile, quindi è possibile specificare una lunghezza massima della linea migliore, come 79 caratteri.

L'errore è fuorviante perché il controllore pep8 formatta il testo con qualcosa come "PEP8: line too long(... > %s characters)" % max_line_setting. Quindi sta usando il controllore pep8, con una configurazione specifica, non affermando che pep8 specifica una linea di 120 caratteri.

+0

Penso che il plug-in Intellij Python sia Pycharm per Intellij. Ma non direi che Pycharm è costruito sopra Intellij, che è il prodotto di punta di JetBrains. –

+2

@Apero Secondo il blog [JetBrains] (http://blog.jetbrains.com/pycharm/2013/10/pycharm-3-0-community-edition-source-code-now-available/) "Il codice è tutto lì su GitHub, pronto per il tuo gioco. Non è un progetto separato ma piuttosto parte del principale progetto IntelliJ IDEA Community Edition ". IntelliJ è solo il loro IDE Java, ed è disponibile sia in versione community free-as-in-beer, sia in versione a pagamento con funzionalità enterprise aggiuntive. Puoi acquistare una versione di PyCharm con caratteristiche simili pure. – munk

+2

Questo è un problema noto che stanno lavorando per correggere: https://youtrack.jetbrains.com/issue/PY-16078 – phoenix

1

AFAIK, PEP8 ha sempre mai permesso 120 caratteri, ma non tutti segue PEP8. Per rispondere alla tua domanda: rimanere sotto gli 80 caratteri, sia per cortesia che per buon senso.

+3

Ma PyCharm afferma che 120 è PEP8. Perché stanno ingannando le persone? – Samuel

+3

Mi rivolgerò alla risposta di @ munkhd, dato che non uso PyCharm. (continua con emacs, tutto funzionerà molto meglio ...) –