我试图对PEP8编码风格相当严格,但这个问题还没有得到我的回答。这些是相同代码的两个版本,一个是使用临时变量,其中每个只使用一次,另一个版本不使用临时变量,看起来更像是在函数式语言中常见的。这两种编码风格哪一种更好?两者都符合PEP8
对我来说,功能性的看起来更漂亮,但我不确定是否有任何指导我应该链接在一起的功能。
版本与临时变量:
class EmailConfirmation():
@receiver(email_confirmed)
def confirmed(sender, **kwargs):
email = kwargs['email_address'].email
keystone_id = User.objects.get_by_natural_key(email).keystone_id
client = Client(token=settings.KEYSTONE_TOKEN,
endpoint=settings.KEYSTONE_URL)
client.users.update(keystone_id, enabled=True)
版本没有临时变量:
class EmailConfirmation():
@receiver(email_confirmed)
def confirmed(sender, **kwargs):
Client(
token=settings.KEYSTONE_TOKEN,
endpoint=settings.KEYSTONE_URL
).users.update(
User.objects.get_by_natural_key(
kwargs['email_address'].email
).keystone_id, enabled=True
)
有一个定义,建议这两个版本的,或者都是OK的任何指引?
我会只通过'email'直接,而不是传递整个对象。 – thefourtheye