非常简单的问题:
特别是在Python中(因为Python实际上在PEP 8中指定了“强烈推荐”的样式准则,但实际上这适用于任何语言),一个带有始终返回的if
子句的函数是否应该在else
子句中包含替代代码?换句话说,下面这段代码中的func_style_one()
和{
def func_style_one():
if some_conditional_function():
do_something()
return something()
else:
do_something_else()
return something_else()
def func_style_two():
if some_conditional_function():
do_something()
return something()
do_something_else()
return something_else()
显然,最佳和最具可读性的样式取决于具体情况,意见将因哪种更好而有很大差异,但我想问的是,核心Python社区特别喜欢哪种样式。(例如,在标准库中,哪个更常用,所有其他条件都相同?)在
作为经验法则,您应该始终避免给代码添加不必要的复杂性,无论是哪种语言。尝试将代码分成语义上有意义的子部分也是一个好主意。在
考虑到这些启发,没有确切的答案。这其实可以归结为你想要达到的目标。在
我将用例子来说明这一点。在
如果我们有一个在继续之前检查各种错误条件的函数,那么不使用
else
来编写它是有意义的:这是更好的,因为您经常以类似的方式在一个序列中检查多个错误:
^{pr2}$但是,如果您的函数分支为两个相等的分支,则它在语义上对您其他人更有意义:
这是因为您经常使用
elif
添加其他几个选项:总而言之:考虑代码的语义并相应地选择语法。在
相关问题 更多 >
编程相关推荐