Hallo,
einfach mal interessehalber: Weiß jemand, weshalb viele Klassen- und Funktionsnamen innerhalb Pythonmodulen nicht PEP8 konform sind?
z. B.
datetime.datetime :: datetime.DateTime
collections.defaultdict :: collections.DefaultDict
collections.namedtuple :: collections.named_tuple
mutetella
Warum sind viele Namen nicht PEP8 konform?
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit )
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Das dürfte an der historischen Entwicklung liegen. Ich weiß jetzt nicht, wie alt PEP8 wirklich ist; evtl. wurde das zu Beginn von Python noch nicht so strikt gesehen oder das ganze Proposal war noch nicht ausgereift?mutetella hat geschrieben: einfach mal interessehalber: Weiß jemand, weshalb viele Klassen- und Funktionsnamen innerhalb Pythonmodulen nicht PEP8 konform sind?
In Python3 wurde da afair auch einiges aufgeräumt.
Bei Wrappern wie PyQt / PySide erlaubt PEP8 aber explizit Ausnahmen und die Orientierung am zugrunde liegenden Framework. (dort mixedCase() bei Methodennamen)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
- noisefloor
- User
- Beiträge: 3856
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
die PEP 8 gibt ja auch indirekt die Antwort.
In der Einleitung steht, wann man mit den Konventionen brechen kann /darf. Unter "Naming Conventions" steht wörtlich "The naming conventions of Python's library are a bit of a mess, so we'll never get this completely consistent...".
ich denke auch, dass es so ist, wie Hyperion sagt - das Alter spielt eine Rolle. Bei ReportLab fällt mir das auch immer wieder aus. Da sind aber auch viele Module älteren Datums.
Gruß, noisefloor
die PEP 8 gibt ja auch indirekt die Antwort.
In der Einleitung steht, wann man mit den Konventionen brechen kann /darf. Unter "Naming Conventions" steht wörtlich "The naming conventions of Python's library are a bit of a mess, so we'll never get this completely consistent...".
ich denke auch, dass es so ist, wie Hyperion sagt - das Alter spielt eine Rolle. Bei ReportLab fällt mir das auch immer wieder aus. Da sind aber auch viele Module älteren Datums.
Gruß, noisefloor
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Diese beiden sind deutlich neuer als PEP8, also zählt die "historisch gewachsen"-Ausrede nicht. Ich nehme einfach an, dass man sich da an den eingebauten Typen "dict" und "tuple" orientiert hat, die ebenfalls in Kleinbuchstaben sind.mutetella hat geschrieben:collections.defaultdict :: collections.DefaultDict
collections.namedtuple :: collections.named_tuple
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice