2016-01-19 15 views
5

Sto scrivendo in python 3.5.1 e sono un novizio della programmazione.Come seguire Python PEP8 per quanto riguarda le interruzioni di riga e quanto è importante?

Uso gedit con un pep8 e pyflakes plug-in che mostrano errori di stile in base allo python style guide. Non so se seguire la raccomandazione di stile sulla lettera o meno.

Ho, tuttavia, tre difetti di stile ricorrenti indicati da E501: line too long (80 > 79 characters), E502: the backslash is redundant between brackets e E128/E127/...: continuation line under-indented for visual indent. Screenshot qui sotto.

Le mie due domande sono:

  1. Come posso adeguatamente fare un'interruzione di linea in pitone al fine di evitare E501 e gli errori di stile successive E502 e E127/128?
  2. È utile seguire la guida di stile pep8 alla lettera, in particolare con la pubblicazione in mente? Cosa dicono i programmatori Python avanzati?

E501: enter image description here

E502: enter image description here

E127/128 ...: enter image description here

+3

"Con la pubblicazione in mente", sì, assolutamente, seguire la guida di stile. Nessuna eccezione; esistono norme per la mutua comprensibilità. Se non ti piace la guida allo stile, invia un nuovo PEP; in questo caso, aspettati che venga respinto. – msw

+0

Perché è stato chiuso? C'è una risposta perfettamente buona a proposito del punto 2, come fare interruzioni di linea che saranno accettabili per PEP8. Modifica - come ora @msw ha fornito. –

+0

My 2c vale: 1. Non utilizzare la continuazione di backslash quando non ne hai bisogno, ad esempio all'interno di parentesi. 2. La tua indentazione su quelle linee continue è troppo grande. 3. Molte persone considerano la lunghezza della linea come un suggerimento piuttosto che come una restrizione rigida, dal momento che i monitor moderni sono molto più grandi di un tempo. OTOH, attenendosi allo standard renderà il tuo codice un aspetto migliore in molti posti, anche qui su SO. –

risposta

5

"Come posso adeguatamente fare un'interruzione di linea in pitone al fine di evitare E501 e gli errori di stile successivi E502 e E127/128? "

progress = Utils.ProgressMeter('Source strings separated by white ' 
    'space are automatically concatenated by the ' 
    'interpreter and parenthesis are the natural syntax ' 
    'for line continuation. Remember to use trailing ' 
    'spaces.') 

Poiché l'errore E502 è già racchiuso tra parentesi, il backslash è ridondante. Hai provato ad eliminarlo?

Problemi correlati