考虑这段代码:
if (something1 is not None and
check_property(something_else) and
dr_jekyll is mr_hyde):
do_something(*args)
other_statements()
尽管代码是以 PEP-8 方式编写的,但显然很难判断谓词在哪里结束,而主体的语句从哪里开始。
我们设计了两种变体:
if ((something1 is not None) and
(check_property(something_else)) and
(dr_jekyll is mr_hyde)):
do_something(*args)
other_statements()
这是丑陋的
if (something1 is not None and
check_property(something_else) and
dr_jekyll is mr_hyde):
do_something(*args)
other_statements()
这也很丑陋。
我个人更喜欢#1,我的同事使用#2。是否有一个不丑且符合 PEP-8 的规范解决方案,可以提高上面列出的方法的可读性?