On Mon, 25 Feb 2019 09:25:29 +0800 Wei Yang <richardw.y...@linux.intel.com> wrote:
> We didn't specify the indent rule for multiline code here, which may > mislead users. And in current code, the code use different rules. diffrent from what? I'd use "various styles" > > Add this rule in CODING_STYLE to make sure this is clear to every one. > > Signed-off-by: Wei Yang <richardw.y...@linux.intel.com> > Suggested-by: Igor Mammedov <imamm...@redhat.com> > > --- > v4: > * widths -> width > * add an exception example for function > v3: > * misleading -> mislead > * add comma after arg2 in example > v2: > * rephrase changelog suggested by Eric Blake > - remove one redundant line > - fix some awkward grammar > - add { ; at the end of example > --- > CODING_STYLE | 29 +++++++++++++++++++++++++++++ > 1 file changed, 29 insertions(+) > > diff --git a/CODING_STYLE b/CODING_STYLE > index ec075dedc4..1bccf4f865 100644 > --- a/CODING_STYLE > +++ b/CODING_STYLE > @@ -29,6 +29,35 @@ Spaces of course are superior to tabs because: > > Do not leave whitespace dangling off the ends of lines. > > +1.1 Multiline Indent > + > +There are several places where indent is necessary: > + > + - struct definition > + - if/else > + - while/for > + - function definition & call > + > +When breaking up a long line to fit within line width, align the secondary > +lines just after the opening parenthesis of the first. Probably it's not true for struct/function, they could use 4 spaces indent relative to previous line. I'd drop struct as it just follow generic block 4 spaces rule. And describe possible function variants separately > + > +For example: > + > + if (a == 1 && > + b == 2) { > + > + while (a == 1 && > + b == 2) { > + > + do_something(arg1, arg2, > + arg3); > + > +One exception for function is indenting following lines relative to function > +name start: it's not really exception and used not only with functions, it's basically generic 4 spaces indent. Another variant I've seen used is foo(x, y(z, h); and variations of that > + > + do_something(arg1, arg2, > + arg3); > + > 2. Line width > > Lines should be 80 characters; try not to make them longer.