In Python gelten mehrere Stilrichtungen, wobei die Hauptsache PEP8 ist:
a = b + cDie Einhaltung von PEP8 erleichtert die Teamarbeit, erhöht die Lesbarkeit, senkt die Einstiegshürde, vereinfacht die Automatisierung von Tests usw.
In PEP8 wird empfohlen, keine einbuchstabigen Variablennamen zu verwenden. Darf man jedoch in List-Comprehensions oder Lambdas kurze Namen verwenden? Warum?
Antwort: Im Grundfall sind einbuchstabige Namen für kurze Iterationen (wie in List-Comprehensions für Marker-Variablen wie x, i, j) zulässig, um kurze Ausdrücke nicht zu überladen. Für komplexe Ausdrücke ist es besser, sinnvolle Namen zu verwenden.
Beispiel:
# Zulässig: squares = [x**2 for x in numbers] # Besser: squares = [number**2 for number in numbers]
Geschichte 1
In einem Bankprojekt gab es das Problem, dass einige Funktionen und Parameter in verschiedenen Konventionen (CamelCase, snake_case, mit Bindestrich) benannt wurden. Ein neues Teammitglied war ständig verwirrt, wo genau die Namen verwendet werden – es dauerte fast zwei Wochen, um Konflikte zu beheben und Variablen umzubenennen.
Geschichte 2
In einem Dateningenieurprojekt wurden Einrückungen nicht eingehalten, Tabs und Leerzeichen gemischt. Das führte zu SyntaxErrors auf verschiedenen Entwicklungsstationen, und einige Entwickler verbrachten Stunden mit der Suche nach überflüssigen Leerzeichen.
Geschichte 3
Auf einem großen Bildungsportal wurden kurze und lange Variablennamen gemischt. Beispielsweise wurde die Funktion zur Verarbeitung von Logs l() genannt, während der Login-Handler long hieß, was in vielen IDEs viel Zeit für die Navigation in Anspruch nahm und Verwirrung über die Verwendung der Funktion mit dem Element l aus der Liste verursachte.