Итак здравствуйте.
Собственно наткнувшись на небольшой фрагмент кода, который содержал довольно объемный операторв ветвления я задумался -- а нельзяли как-то упростить данный фрагмент, и повысить его читаемость?
Думаю проще объяснить на премер.
Допустим мы имеем следующий код:
def convertSecondsTo(seconds, type):
if type == "seconds":
return seconds
elif type == "minutes":
return seconds / 60
elif type == "hours":
return seconds / 3600
elif type == "days":
return seconds / 86400
elif type == "months":
return seconds / 2592000
elif type == "years":
return seconds / 31536000
assert False
Собственно ветление здесь довольно большое, я подумал, что если взять словарь,
вида { 'seconds': 1, 'minutes': 60, ... }, то данное выражения можно выразить как:
def convertSecondsTo(seconds, type, types):
#types -- наш словать со значениями.
return seconds / types[type]
Собственно вопрос -- оправдан ли такой способ и имеетли он вообще право на жизнь?
P. S. Просто где-то я слышал, что если в коде есть большие операторы ветвления, то такие участк кода нуждаются в перерабротке.