On Fri, Mar 01, 2019 at 10:01:46AM +0800, Wei Yang wrote: > We didn't specify the indent rule for multiline code here, which may > mislead users. And in current code, the code 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> > > --- > v5: > * different rules -> various styles > * describe function variants separately > * take struct out > 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 | 39 +++++++++++++++++++++++++++++++++++++++ > 1 file changed, 39 insertions(+) > > diff --git a/CODING_STYLE b/CODING_STYLE > index ec075dedc4..e175e6ea9a 100644 > --- a/CODING_STYLE > +++ b/CODING_STYLE > @@ -29,6 +29,45 @@ 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: > + > + - if/else > + - while/for > + - function definition & call > + > +When breaking up a long line to fit within line width, we need a proper > indent > +for the following lines. > + > +In case of if/else, while/for, align the secondary lines just after the > +opening parenthesis of the first. > + > +For example: > + > + if (a == 1 && > + b == 2) { > + > + while (a == 1 && > + b == 2) { > + > +In case of function, there are several variants: > + > + * 4 spaces indent from the beginning > + * align the secondary lines just after the opening parenthesis of the > + first > + > +For example: > + > + do_something(x, y, > + z); > + > + do_something(x, y, > + z); > + > + do_something(x, do_another(y, > + z);
Should we close another parenthesis after the "z"? The rest LGTM! Thanks, Stefano