[python-users] Etwas Hilfe zur Still, Code-Übersichtlichkeit und Verbesserungen
Christopher Arndt
chris.arndt at web.de
Mo Mär 14 14:42:19 CET 2011
Daniel Hepper schrieb:
> Ich würde ausserdem nicht bei jeder Response explizit success = true
> zurück geben. Statt dessen könntest du im Fehlerfall (status != 200)
> eine aussagekräftige Exception werfen, z.B. bei status 404 eine
> ActionNotSupportedException. Momentan geht die Information warum etwas
> nicht funktioniert hat, verloren.
Und auch im Erfolgsfall würde ich statt einem Dictionary einfach ein
(Named-)Tuple mit zwei Elementen (status, result) zurückgeben. Bzw. wenn
du im Fehlerfall sowieso immer ein Exception auslöst, brauchst du im
Erfolgsfall den Status gar nicht zurückgeben.
> Das ist einiges an Arbeit, aber ich damit wäre die Bibliothek für
> einen Benutzer noch einfacher zu verwenden und wie ich finde noch
> "pythonischer". Was meinen die Anderen dazu?
Auf jeden!
Ein Kleinigkeit ist mir noch in Zeile 90 aufgefallen:
if(self.account_info() != None):
schreibt man in Python besser so:
if self.account_info() is not None:
d.h du brauchst keine Klammern um den Ausdruck und da 'None' ein
Singleton ist, ist es gebräuchlich, darauf mit 'is (not)' zu prüfen.
Falls aber self.account_info() nie 0 als gültigen Wert zurückgibt,
reicht auch die Prüfung auf den bool'schen Wert des Rückgabewerts:
if not self.account_info():
Erinnerung: Normale Objektinstanzen haben in Python standardmäßig den
bool'schen Wert True.
In deinem konkreten Anwendunsfall noch kürzer:
return bool(self.account_info())
oder
return self.account_info() is not None
Chris
Mehr Informationen über die Mailingliste python-users