In terms of information a third person would need to understand your code I allways prefer a long call like this rather than wrapping it in a structure. But if most of the variables you pass to the function are "housekeeping" e.g. you need to pass them but they are nothing frequently changed, you could add a local wrapping e.g. a lambda function with capturing or a macro to expose only the relevant variables