ProgrammierungPython Team Lead

Erzählen Sie von den Namenskonventionen (PEP8 usw.) in Python. Wie beeinflusst die Missachtung dieser Konventionen die Praxis der Code-Arbeit? Nennen Sie Beispiele für die tatsächlichen Folgen von PEP8-Verstößen in Projekten.

Bestehen Sie Vorstellungsgespräche mit dem Hintsage-KI-Assistenten

Antwort.

In Python gelten mehrere Stilrichtungen, wobei die Hauptsache PEP8 ist:

  • Variablen-/Funktionsnamen: lower_case_with_underscores
  • Klassennamen: CapitalizedCamelCase
  • Konstanten: ALL_CAPS
  • Zeilenlänge: bis zu 79 Zeichen
  • Einrückungen: 4 Leerzeichen (keine Tabs!)
  • Leerzeichen um Operatoren: a = b + c
  • Importe: jeder Import in einer neuen Zeile, zuerst standard Bibliotheken, dann externe, dann lokale

Die Einhaltung von PEP8 erleichtert die Teamarbeit, erhöht die Lesbarkeit, senkt die Einstiegshürde, vereinfacht die Automatisierung von Tests usw.


Fangfrage.

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]

Beispiele für tatsächliche Fehler aufgrund mangelnden Wissens über die Feinheiten des Themas.


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.