看到不同的同事代码,表达同一个意思,主要 if
部分以下哪种写法比较好些:)
def xxxx(ph, sin_id):
"""
"""
with OracleConnect(xxxx) as db_oracle:
sql = u"xxxxx"
has_data, sql_data = db_oracle.get_one(sql)
# 第一种写法
if has_data:
calculate_func = "rollback"
task_id = sql_data.get("task_id", "")
else:
calculate_func = "calculate"
task_id = sin_id
return task_id, calculate_func
def xxxx(ph, sin_id):
"""
"""
with OracleConnect(xxxx) as db_oracle:
sql = u"xxxxx"
has_data, sql_data = db_oracle.get_one(sql)
# 第二种写法
calculate_func = "rollback" if has_data else "calculate"
task_id = sql_data.get("task_id", "") if has_data else sin_id
return task_id, calculate_func
第一种写法,比较直接,清晰明了,但有同事说不够 pythonic
。
第二种写法比较 pythonic
,但是类似写法,对于刚接手别人代码的同事,就要稍微绕一下才能读懂。
由此拓展,想到在写业务逻辑中,经常会有 if
语句的判断,请问大家是怎么选择代码风格的:)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.