[Python-de] Globaler "prefix" o.ae.

Ole Streicher ole-usenet-spam at gmx.net
So Sep 11 18:14:29 CEST 2011


Hartmut Goebel <h.goebel at goebel-consult.de> writes:
> Natürlich. Denn Du hast Module (oder Packages) "common" "databases",
> etc. Aber es gibt keine Package "mypackage". Damit hast Du eine
> Sammlung von Modulen, aber eben kein Package.

In dem Augenblick, in dem ich eine (auch leere) mypackage/__init__.py
anlege, habe ich ein Package.

>>          exec("from common.%s import %s" % (cls, cls))
> Himmel hilf! (Aber auch das ließe sich mit einem sed-Befehl geheben)

Klar. Es gibt aber auch

exec("from %s.init.Setup import Setup" % target) 

und das ist deutlich schlimmer (aus dem Kontext ist immerhin zu erkennen, 
dass "target" etwas in der Region von "common" bzw. "database" ist).

> Meine Anforderungen an Software-Qualität erfüllt das nicht. Und wenn
> da schon solche offensichtlichen Klöpse drin sind, dann schlummern da
> sicher noch ganz andere Bugs im Untergrund.

Deine und meine Beurteilung der Softwarequalität ändert halt nur nichts
am Problem. Wenn Bugs drin sind, werden die gemeldet und hoffentlich
behoben. Dummerweise ist ein schlimmes Design eben kein Bug.

> Jede "Lösung" (besser gesagt: Hack) wird Nebenwirkungen haben.

Welche Hacks (bzw. Lösungen) gäbe es denn noch so und welche
Nebenwirkungen wären zu erwarten? Vielleicht findet sich ja doch ein
brauchbarer Kompromiss.

Viele Grüße

Ole


Mehr Informationen über die Mailingliste python-de