I prefer the following
int variable_with_really_long_name = functionWhichDoMore(
Argument1, ArgumentA2, ArgumentA3, Argument4,
ArgumentA5, Argument6);
int i = foo(Argument1, ArgumentA2, ArgumentA3, Argument4,
ArgumentA5, Argument6);
Both are consistent with each other, when reaching 80 chars, I go the next line and place 2 indents of 4 spaces each. My argumentation for this is as follows:
I use 2 indents of 4 spaces each, in order to clearly visualize the fact that it concerns a wrapped line and not an indented code block.
This way of indenting keeps the code nicely indented because it always follows the same indenting pattern, 2 indents for line wrapping, 1 indent for code blocks.
Placing every argument on a separate line can result in very large methods, hence I prefer arguments sequentially on one or more lines.
This way of line wrapping can be configured in an IDE such as Eclipse, providing the ability of auto-formatting.
However there is one important note, there can be exceptional cases where the following occurs:
int variable_with_really_long_name = functionWhichDoMore(arg1,
arg2)
I will try to avoid this, if it happens I will do the following
int variable_with_really_long_name = functionWhichDoMore(arg1, arg2)
Yes, I will pas my 120 char max. code line length convention, my convention is actually flexible on this, max 120 to 140 chars, normally I wrap after 120, however in this case I will go to max. 140 chars. The disadvantage of this is of course that it cannot be configured for auto-formatting in an IDE such as eclipse.
ps. I know some people think 120 chars is way to much for code line length, but that's an whole other discussion. The conventions above can of course also be applied for 80 / 100 chars.