Verwenden Sie in Python im Allgemeinen PEP 8 - Style Guide für Python-Code als Codierungsstandards / -richtlinien? Gibt es andere formalisierte Standards, die Sie bevorzugen?
Verwenden Sie in Python im Allgemeinen PEP 8 - Style Guide für Python-Code als Codierungsstandards / -richtlinien? Gibt es andere formalisierte Standards, die Sie bevorzugen?
Antworten:
"Verwenden Sie in Python im Allgemeinen PEP 8 - Style Guide für Python-Code als Codierungsstandards / -richtlinien? Gibt es andere formalisierte Standards, die Sie bevorzugen?"
Wie von Ihnen erwähnt, folgen Sie PEP 8 für den Haupttext und PEP 257 für Dokumentationskonventionen
Zusammen mit Python Style Guides schlage ich vor, dass Sie Folgendes verweisen:
Ich folge den Richtlinien für Python-Redewendungen und Effizienz von Rob Knight. Ich denke, sie sind genau die gleichen wie PEP 8, aber synthetischer und basieren auf Beispielen.
Wenn Sie wxPython verwenden, sollten Sie auch im Style Guide nach wxPython-Code von Chris Barker suchen .
Ich halte mich sehr eng an PEP-8.
Es gibt drei spezifische Dinge, die ich nicht ändern kann, um auf PEP-8 umzusteigen.
Vermeiden Sie überflüssige Leerzeichen unmittelbar in Klammern, Klammern oder Klammern.
Empfohlen: spam(ham[1], {eggs: 2})
Ich mache das trotzdem: spam( ham[ 1 ], { eggs: 2 } )
Warum? Über 30 Jahre tief verwurzelte Gewohnheit kuscheln () gegen Funktionsnamen oder (in C) Anweisungsschlüsselwörter. Beginnend mit Fortran IV in den 70er Jahren.
Verwenden Sie Leerzeichen um arithmetische Operatoren:
Empfohlen: x = x * 2 - 1
Ich mache das trotzdem: x= x * 2 - 1
Warum? Gries 'The Science of Programming schlug dies vor, um den Zusammenhang zwischen der Zuweisung und der Variablen, deren Status geändert wird, hervorzuheben.
Es funktioniert nicht gut für Mehrfachzuweisungen oder erweiterte Zuweisungen, dafür verwende ich viele Leerzeichen.
Für Funktionsnamen, Methodennamen und Instanzvariablennamen
Vorgeschlagen: Kleinbuchstaben mit nach Bedarf durch Unterstriche getrennten Wörtern, um die Lesbarkeit zu verbessern.
Ich mache das trotzdem: camelCase
Warum? Über 20 Jahre verwurzelte Gewohnheit von camelCase, beginnend mit Pascal in den 80ern.
PEP 8 ist gut, das einzige, was ich mir wünschte, es wäre schwieriger geworden, war der heilige Krieg zwischen Tabs und Spaces.
Wenn Sie ein Projekt in Python starten, müssen Sie grundsätzlich Tabulatoren oder Leerzeichen auswählen und dann alle Täter auf Sicht erschießen.
So fügen Sie der Liste der Redewendungen von Bhadra Folgendes hinzu :
Kasse Anthony Baxters Präsentation über effektive Python-Programmierung (ab OSON 2005).
Ein Ausschnitt:
# dict's setdefault method turns this:
if key in dictobj:
dictobj[key].append(val)
else:
dictobj[key] = [val]
# into this:
dictobj.setdefault(key,[]).append(val)
Ich folge ihm äußerst streng. Der einzige Gott vor PEP-8 sind vorhandene Codebasen.
Ich folge dem PEP8, es ist ein großartiger Codierungsstil.