Ищу аргументы против API вроде следующего (пример на С, хотя в действительности используется другой язык):
struct job {
char *whatToDo;
char *howToDo;
char *parameters;
char *ready;
char *succeeded;
char *failed;
char *whyFailed;
};
Job *do_job(job *pJob);
Используется это дело примерно так:
struct job j, *pj;
j.whatToDo = "Nothing";
j.howToDo = "QuickAndDirty";
j.parameters = "A=1;B=2"
pj = do_job(&j);
if (pj->failed)
printf("failed: %s", pj->whyFailed);
Хорошо бы поиметь ссылку на какую-нибудь авторитетную статью на английском языке, в которой подобный API торжественно объявляется чем-нибудь на букву г.