2014-12-14 3 views
19

ich Pylint verwendet, um meinen Python-Code zu überprüfen, und fand diese Konvention Problem:Python Codierung Konvention „Wrong Fortsetzung Einbuchtung vor Block: von Pylint gefunden

C:11, 0: Wrong continued indentation before block. 
        + this_time <= self.max): 
        ^ | (bad-continuation) 

Ich habe versucht, für Zeiten, zu verfeinern, aber das Problem ist noch vorhanden helfen, kann jemand Dank

if len(remaining_obj_list) > 0: 
    for i in a_list: 
     this_time = self.__get_time(i) 
     for remaining_obj in remaining_obj_list: 
      if (remaining_obj.get_time() # to fit 78 char rule 
       + this_time <= self.max): 
       i.append(remaining_obj) 
       remaining_obj.set_used(True) 
     if 0 == len(self.__get_unused_list): 
      break 

Antwort

25

Pylint möchte nicht, dass eine solche Fortsetzung in derselben Spalte beginnt wie der nächste Einrückungsblock. Beachten Sie außerdem, dass die Nachricht einen Hinweis auf Spalten enthält, die sie für richtig hält.

+13

Ich habe nie realisiert, dass der vertikale Balken als Hinweis darauf positioniert ist, wo die Einrückung sein soll Sein. – DreadPirateShawn

3

Versuchen Sie, die + in der vorhergehenden Zeile setzen:?!

 if (remaining_obj.get_time() + 
      this_time <= self.max): 

Als eine Randnotiz möchten Sie vielleicht die Faktoren berücksichtigen, die dazu führen, dass Ihr Code in ~ 40 Zeichen passt - vielleicht haben Sie ein paar zu viele Einrückungsstufen und Ihr Code könnte umgestaltet werden, um weniger verschachtelte Blöcke zu haben.

2

Nach PEP8: "Der bevorzugte Ort, um einen binären Operator zu brechen, ist nach dem Operator, nicht davor."

Versuchen Sie, dieses Pluszeichen in die vorherige Zeile zu verschieben.

+8

PEP8 hat diese Empfehlung geändert, der bevorzugte Weg ist jetzt, * vor * dem Operator zu brechen. – flornquake

+0

Diese Antwort sollte bearbeitet werden, da sie falsche Informationen anzeigt – winklerrr

+0

@flornquake * Ewwwww *. (Eigentlich bin ich mir nicht sicher, was "besser" ist. Je nach Szenario kann das ästhetisch ansprechender oder lesbarer sein ...) –