Sehr einfache Frage:Bevorzugter Python (oder irgendeine Sprache, wirklich) Stil: Sollte sonst verwendet werden, wenn if returns?
Insbesondere in Python (da Python hat eigentlich „dringend empfohlen“ Stil-Richtlinien in PEP 8 angegeben, aber wirklich das gilt für jede Sprache), sollte eine Funktion mit einer if
-Klausel, die immer zurückkehrt hat die Alternative Code in einer else
Klausel oder nicht? Mit anderen Worten, func_style_one()
und func_style_two()
im folgenden Code ist (natürlich) genau äquivalent:
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()
Offensichtlich ist der beste und lesbare Stil hängt von der Situation und Meinungen variiert stark, auf dem besser, aber ich frage, was von der Core-Python-Community besonders bevorzugt wird. (z. B. Welche wird häufiger in der Standardbibliothek verwendet, alle anderen Dinge sind gleich?)
Ich neige dazu, die zweite –
Ich denke, die zweite ist sicherer. Weniger anfällig für das Ändern eines Else während eines Refactors und das versehentliche Erstellen eines Codepfads ohne Rückgabewert. –
Wenn all das Äquivalent des else zurückgibt, dann das erste. Wenn das andere zusätzliche Berechnungen durchführt - das zweite. –