Don't align.
void my_function(
int arg1, int arg2, int arg3,
...
) { void my_function(
int arg1, int arg2, int arg3,
...
) { void drawrect(
Surface *surf,
int x, int y,
int width, int height,
uint32_t color);
Grouping relevant arguments just makes it a bit more legible. It's even more useful when calling the said function (assuming function with a lot of parameters, say XCreateWindow).I've not seen any large public code-bases uses this style, so it's hard to know how well it works in practice. Do you know of any major projects with a 'no alignment' requirement?