Я пытаюсь уменьшить киломатическую сложность кода, потому что, согласно pylama, мое определение "слишком сложное" и Предлагаемое решение включает вызов функций с сопоставлением словарей.
Поэтому я попробовал это на своем объектно-ориентированном коде, но с треском провалился.
class trial:
def __init__(self):
self.a = 'a'
self.b = 'b'
def a(self):
return self.a
def b(self):
return self.b
def select_one(self, option):
map_func = {
1 : self.a,
2 : self.b
}
return map_func[option]()
t = trial()
print(t.select_one(1))
Если это невозможно, каковы другие возможные решения для уменьшения цикломатической сложности.
map_func
раз и навсегда в__init__
, чтобы это не переделывалось каждый раз, иначе какой смысл в словаре - person Jean-François Fabre   schedule 14.11.2018dict.get()
или умрите ужасно на alosdfböoads, данных вашему мапперу. Это почти запутывание кода — кто знает, что могут сделать 1 или 2? - person Patrick Artner   schedule 14.11.2018