Чистый шаблон кода для функции класса, требующей много входных данных - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть FXN, который перебирает огромный набор данных (используя dask). Структура fxn выглядит примерно так:

def fxn(input 1, input 2, ... input 20):
    component_1 = otherclass.fxn_a(input 1, input 2, input 3, input 4)
    component_2 = otherclass.fxn_b(input 5, input 6, input 7, input 8, input 9, input 10)
    component_3 = otherclass.fxn_c(input 11, input 12, input 13, input 14, input 15)
    output_1 = outputclass.fxn_1(component_1, component_2, input 16, input 17, input 18)
    output_2 = outputclass.fxn_2(component_3, input 19, input 20)
    return output_1 + output_2

Я пытался продумать, как мне это разбить. Должен ли каждый компонент быть превращен в свой собственный маленький класс с необходимыми входными данными?

def fxn(input 16, input 17, input 18, input 19, input 20):
    output_1 = outputclass.fxn_1(component1class.get_component(), component2class.get_component(), input 16, input 17, input 18)
    output_2 = outputclass.fxn_2(component3class.get_component(), input 19, input 20)
    return output_1 + output_2

А потом еще дальше:

def fxn():
    output = outputclass.get_sum_components()
    return output

Это будет лучшим подходом или я должен сделать что-то еще?

...