这是基于编码风格的,想知道if或else块中的if / else决策是否更好。例如:
yes_no = object.get() #Response will be 'yes' or 'no'
if yes_no == 'yes':
yes response
else:
no response
优于:
yes_no = object.get() #Response will be 'yes' or 'no'
if yes_no != 'yes':
no response
else:
yes response
据我所知,没有区别,因为他们都寻找'是'并输出肯定的回复,但是有没有人们遵循或找到更容易阅读的样式?
我正在使用python,但由于if / else无处不在,我猜其他语言也是相关的。
编辑:替换没有回复的通行证,这是不必要的。
答案 0 :(得分:3)
我认为大多数取决于程序员想要强调的内容。 IF条件应该是:
我个人总是试图避免这种情况:
if condition:
... tons of code ...
else:
... one line of code ...
答案 1 :(得分:2)
!is_no
)无论条件是什么,首先将早期陈述:
if(!a):
return
else:
long
sequence
of
statements
答案 2 :(得分:1)
这完全取决于你的程序的逻辑。如果做出“积极”的条件是有意义的,那么就把它作为一个积极的条件。如果它是负面的“条件”,那么将其作为负面条件。对于任何一种类型的条件,或者至少不是我所知道的条件,没有固定的风格规则。
答案 3 :(得分:0)
我能给你的最好的建议是做你的代码中最好的东西,不要打扰不添加任何东西的代码路径。我会将您的代码修改为:
yes_no = object.get() #Response will be 'yes' or 'no'
if yes_no == 'yes':
yes response
如果no
条件没有动作,则没有理由检查它。我还会修改“获取”,以便更明显地回答“是”或“否”响应。事实上,object.get()
非常模糊。
答案 4 :(得分:0)
如果您的方法只返回两个值中的一个,请使用return True
或return False
,而不是任意字符串。你应该重命名它,所以方法名称意味着什么。
然后你可以做
if object.get():
# do something
else:
# do something else
或
if not object.get():
# do something
else:
# do something else
如果只有一个案例实际上会导致回复,则省略else
。