A volte mi trovo a scrivere codice Python che assomiglia a questo:
def check_stuff(param):
if condition1(param):
return "condition1" # These might be enum values, etc., instead of strings
if condition2(param):
return "condition2"
def func(param):
cs = check_stuff(param)
if "condition1" == cs:
raise Exception1(param)
if "condition2" == cs:
raise Exception2(param)
#...
Qui, il valore di ritorno di check_stuff
viene usato solo per decidere quale eccezione sollevare. Immaginiamo che questo sia vero ogni volta che chiamo check_stuff
, probabilmente perché lo chiamo solo una volta. Sarebbe meglio che lo stile aumentasse le eccezioni in check_stuff
stesso?
def check_stuff2(param):
if condition1(param):
raise Exception1(param)
if condition2(param):
raise Exception2(param)
def func2(param):
check_stuff(param)
#...