Ich finde nicht, wie ich lange Zeilen in py
Dateien automatisch umbrechen kann. Es wäre nett, wenn mir jemand ein Befehlszeilen- oder Sublime Text-Tool nennen könnte.
Zur Zeit muss ich lange Zeilen manuell umbrechen .
PEP8 E501-Regel. Selbst wenn ich die maximale Zeilenlänge beispielsweise auf 120 setze, überschreiten einige Zeilen das Limit.
Meine SashaIsTheWorld.py
Datei:
amazing = True
spectacular = True
excellent = True
breathtaking = True
exciting = True
fantastic = True
unmatched = True
magnificent = True
breakneck = True
fascinating = True
if amazing and spectacular and excellent and breathtaking and exciting and fantastic and unmatched and magnificent and breakneck and fascinating is True:
print("It about Sasha")
else:
print("She's the one for me, She's my ecstasy, She's the one I need. She's one in a million, She's once in a lifetime, She made me discover one of the stars above us.")
D:\SashaPythonista>flake8 SashaIsTheWorld.py
SashaIsTheWorld.py:12:121: E501 line too long (153 > 120 characters)
SashaIsTheWorld.py:15:121: E501 line too long (177 > 120 characters)
Zum Beispiel:
amazing = True
spectacular = True
excellent = True
breathtaking = True
exciting = True
fantastic = True
unmatched = True
magnificent = True
breakneck = True
fascinating = True
if amazing and spectacular and excellent and breathtaking and exciting and fantastic \
and unmatched and magnificent and breakneck and fascinating is True:
print("It about Sasha")
else:
print("She's the one for me, She's my ecstasy, She's the one I need. "
"She's one in a million, She's once in a lifetime, She made me discover one of the stars above us.")
\
Symbol und keine zusätzlichen Anführungszeichen hinzu.Bitte nicht sagen, dass:
Zu lang für einen Kommentar, vielleicht keine Antwort, da es eher auf Refactoring als auf ein Tool zum Umbrechen langer Zeilen hinweist.
Wenn dies für die Arbeit ist, sollten sie Ihnen sagen, wie; Wenn es sich um privaten Code handelt, dann schwitzen Sie nicht, haben Sie einfach lange Zeilen, wenn Sie möchten.
Davon abgesehen sind lange Schlangen ein Code -Geruch . Spontan fallen mir folgende Gründe für lange Warteschlangen ein (Sie können gerne weitere hinzufügen).
if
s)if (A =B) and (V C> 123456) or (dictionary['key'] = 'value') or ....
1) kann durch manuelles Brechen der langen Saiten gehandhabt werden, von denen ich nicht viele erwarten würde.
2 & 3 schlagen beide ein Refactoring vor, und ich sehe aus Ihrem hohen Ruf auf (russischem) Stack Overflow, dass Sie darüber Bescheid wissen sollten :-)
Für 1) verbieten einige Codierungsstandards das Besting von Bedingungen, die mehr als X tief sind (meine aktuelle Firma sagt 4, ymmv). Wenn es viele mehr gibt, könnte dies bedeuten, dass die Funktion versucht, mehr als eine Sache zu tun – was schlecht ist
Für 2 & 3 wird eine solche Komplexität besser in einer Funktion versteckt und durch ersetztif ConditionsValid():
In beiden Fällen erhalten wir (mehr) kleinere Funktionen, die einfacher zu lesen, zu warten und zu testen sind.
Ich vermute, dass Sie das alles wissen, also schreibe ich für andere Leser der Frage.
Trotzdem ist meine Empfehlung, nicht nach einem Tool zu suchen, das lange Zeilen umbricht, sondern sich zu fragen, warum man so viele lange Zeilen hat (und sich ein paar zu verzeihen, wenn man es rechtfertigen kann).
Vielleicht möchten Sie auch auf Programmierer schauen (oder fragen).
Bitte sag mir was du denkst.