2013-03-15 8 views
188

Ich habe gerade eine Datei mit Sublime Text (mit Sublime Linter) geöffnet und einen PEP8-Formatierungsfehler bemerkt, den ich noch nie zuvor gesehen hatte. Hier ist der Text:Was ist PEP8 E128: Fortsetzungszeile für visuelle Eindruck unter-eingerückt?

urlpatterns = patterns('', 
    url(r'^$', listing, name='investment-listing'), 
) 

Es ist das zweite Argument das Markieren, die Linie, die url(...)

beginnt Ich war über diese Prüfung in ST2 deaktivieren, aber Ich würde gerne wissen, was ich falsch mache bevor ich es ignoriere. Man weiß ja nie, wenn es wichtig scheint, ich könnte sogar meine Wege ändern :)

Antwort

318

PEP-8 recommends Sie indent Leitungen an die Öffnung Klammern, wenn Sie etwas in der ersten Zeile setzen, so sollte es entweder auf die öffnende Klammer Einrücken werden:

urlpatterns = patterns('', 
         url(r'^$', listing, name='investment-listing')) 

oder keine Argumente an der Startlinie setzt, dann auf ein einheitliches Niveau Einrücken:

urlpatterns = patterns(
    '', 
    url(r'^$', listing, name='investment-listing'), 
) 

urlpatterns = patterns(
    '', url(r'^$', listing, name='investment-listing')) 

ich schlage vor, eine Lese durch PEP-8 nehmen - es ist nicht ein langes Dokument ist, und es ist ziemlich leicht zu verstehe, im Gegensatz zu einigen der mo re technische PEPs.

+0

Ich sehe! Ja das macht Sinn. Ich habe diesen Code von der Django-Standardmethode übernommen. Ich denke, wenn ich so etwas schreiben würde, hätte ich das erste Argument in eine eigene Zeile gestellt. – Oli

+0

@Oli Ja. Ich kann den Instinkt verstehen, das '' '' in die erste Zeile zu setzen, aber es macht es auch sehr leicht zu übersehen, dass es da ist. Die zwei Stile in PEP-8 machen es schwieriger, beim Lesen über ein Argument hinweg zu gleiten. –

+5

Jeder weiß, warum Django das macht; Gibt es einen guten Grund? Es scheint, dass es genauso einfach ist, PeP-8 zu folgen. – TheHerk

Verwandte Themen