изменить функцию на класс с методом установки входных переменных функции - PullRequest
0 голосов
/ 03 июля 2018

Я пишу API для моей библиотеки. У меня есть функция, которая принимает 5 классов в качестве входных данных:

result func(A a,B b,C c,D d,E e);

Я хочу изменить его на класс, который принимает входные данные один за другим, и тогда класс можно будет выполнить, когда все входные данные установлены:

class func
{
void setA(A a);
void setB(B b);
.......
result execut();
}

я хочу знать, что это плохая идея?

Ответы [ 2 ]

0 голосов
/ 08 июля 2018

Я думаю, что это неплохая идея сделать класс из моей функции, даже если позже я обнаружу, что функция является лучшим выбором, я могу написать вспомогательную функцию для моего класса функций следующим образом:

result Func(A a,B b,C c,D d,E e)
{
func f;
f.setA(a);
f.setB(b);
......
return f.execute();
}
0 голосов
/ 03 июля 2018

Это хорошая идея. Потому что после переписывания кода вы можете значительно упростить юнит-тесты для этого класса.

...