Je suis en train de faire un changement incompatible vers un point final api dans une application différente que j'appelle d'une application cliente (où ce code vit). Je dois le supporter pendant un certain temps en gérant à la fois le cas précédent (où les données vivaient au niveau "grand livre") et le nouveau cas (où les données vivaient dans le grand livre "profil")Qu'est-ce qu'une façon pythonique de sélectionner des données à partir de l'un des deux emplacements?
Le code ci-dessous travaille à la saisir de ces deux endroits, mais j'ai un sentiment lancinant il doit y avoir une plus pythonique façon de le faire. des idées?
class Profile(object):
@property
def account_owner(self):
owner_data_from_ledger = self.account.ledger.data.get('owner', None)
owner_data_from_profile = self.data.get('owner', None)
owner_data = owner_data_from_ledger if owner_data_from_ledger else owner_data_from_profile
if owner_data:
return Human(owner_data)
return None
Que cherchez-vous à améliorer dans votre code? Qu'est-ce qui vous donne envie de le changer? – MooingRawr
@MooingRawr Je ne pense pas qu'il y ait quelque chose de "faux" avec ça, je voudrais juste que ce soit plus beau si c'est possible :) – snorkelzebra
Je crois que votre code est beau comme il est. C'est lisible, ce qui est la chose la plus importante après le travail, la beauté est dans les yeux du spectateur. – MooingRawr