triviales Stil-Problem

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
henning
User
Beiträge: 274
Registriert: Dienstag 26. Juli 2005, 18:37

Moin, ich habe einen Code-Schnippel, der sinngemäß so aussieht:

Code: Alles auswählen

def funktion(a, b):
  if b == "Spezialfall":
    db = hole_was_aus_ner_datenbank(a, b) # Kann None bei nichtvorhandensein zurückgeben
    if db:
      return db["index"]
    else:
      return normalfall(a, b)
  else:
     return normalfall(a, b)
Also, db enthält entweder ein passendes dict, oder None, wenn es ein dict enthält, enthält jenes auch den Schlüssel "index", ist also nicht False.

Was mich halt an der ganzen Sache stört, ist dieses "doppelte" else am Schluß.
Wahrscheinlich ist es mordsmäßig simpel, dass ein bisschen schöner aufzuschreiben, aber ich kriegs partout nicht hin, wenn das jetzt nicht auch schon das 3. Mal wäre, dass mir son Konstrukt über den Weg läuft, hätte ich auch ger nicht gemeckert :-)

Henning
SeB
User
Beiträge: 25
Registriert: Mittwoch 24. August 2005, 14:29
Wohnort: Buchenau/Hessen
Kontaktdaten:

Code: Alles auswählen

def funktion(a, b): 
  if b == "Spezialfall": 
    db = hole_was_aus_ner_datenbank(a, b) # Kann None bei nichtvorhandensein zurückgeben 
    if db: 
      return db["index"]  
  return normalfall(a, b) 

die else's kannst du getrost weglassen, aber ka ob das eher ein schlechter still ist. und ein "return normalfall(a, b)" ist damit sowieso überflüssig glaub ich.
henning
User
Beiträge: 274
Registriert: Dienstag 26. Juli 2005, 18:37

Ah danke, man ich hatte schon oft Tomaten vor den Augen, aber sowas...
Ist jedenfalls genau der "one obvious way to do it" den ich gesucht habe, danke!
Antworten