pregunta muy simple:Estilo preferido de Python (o cualquier idioma, realmente): ¿Debería usarse de otra forma si se devuelve?
Específicamente en Python (ya que Python tiene en realidad "muy recomendable" guías de estilo especificado en PEP 8, pero en realidad esto se aplica a cualquier idioma), en caso de una función con una cláusula de if
que vuelve siempre tienen la alternativa código en una cláusula else
o no? En otras palabras, func_style_one()
y func_style_two()
en el siguiente fragmento de código son (obviamente) exactamente equivalente:
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()
Obviamente, la mejor y más legible estilo depende de la situación, y opiniones variará en gran medida de que es mejor, pero estoy preguntando cuál es específicamente preferido por la comunidad principal de Python. (Por ejemplo, ¿cuál se usa con más frecuencia en la biblioteca estándar, siendo todo lo demás igual?)
Tiendo a elegir el segundo –
Creo que el segundo es más seguro. Menos propenso a cambiar un else a un elif durante un refactor y crear accidentalmente una ruta de código sin valor de retorno. –
Si todo lo que hace el resto es regresar, entonces el primero. Si el otro hace un cálculo adicional, el segundo. –