[ovs-dev] [PATCH] conntrack: coding style fixes.
Ben Pfaff
blp at ovn.org
Mon Nov 20 16:48:10 UTC 2017
On Mon, Nov 20, 2017 at 11:42:43AM -0200, Flavio Leitner wrote:
> On Sun, 19 Nov 2017 10:58:11 -0800 Ben Pfaff <blp at ovn.org> wrote:
> > The other technical issue here is about whether && and || should be
> > at the beginning or end of a line. The coding style document,
> > intentionally, does not take an explicit position on this, and I did
> > not realize that the examples in the document are biased toward
> > putting them at the beginning of the line. OVS uses a mix of
> > positions. I personally tend to put them at the beginning of a line
> > because I have a long history of writing code in the GNU coding
> > style, which mandates this positioning, but others feel exactly the
> > opposite (for example I believe that kernel style favors end-of-line
> > positioning). This is a debate that frankly I don't care much for
> > and I'd prefer to leave it as a matter to individual taste. (This
> > is also why the coding style document gives some freedom in the
> > positioning of /* and */ in comment blocks: there is a range of
> > viewpoints on this and I think the answer doesn't matter.) If
> > necessary, I favor adding an explicit statement to the document
> > saying that lines may be split before or after binary operators.
> > (On the other hand I do prefer ? and : at the beginning of a line.)
>
> It all makes sense except for the freedom in the coding style. Too much
> freedom means no standard.
>
> It is natural that the code evolves and maybe new things will impact on
> the current coding style guidelines. I agree we don't need to rewrite
> OVS every time that happens, but as it happened in this case, one could
> update the style being used in a file at some point, so that the coding
> style document rules the major portion of the code base.
>
> I came from the kernel and yet the patch uses the other style, which
> I figured was the preferable one. Even with that fossil in me a bit
> reluctant to adopt mid-block declarations, I honestly don't care as
> long as I can see a pattern ruling a good portion of the code.
>
> Yes, I realize the proposed patch (please drop it) has changes going
> in the other direction because it never occurred to me that we could
> update the coding style with regards to where to break lines.
>
> How to decide which one is preferable? Maybe take a snapshot of OVS
> today and see what is mostly used and take from there?
One reason that the coding style takes no position is that I can see an
argument for each possibility. Positioning a binary operator before a
line break gives the operands a more consistent look, e.g.:
a = (b |
c |
d);
but positioning after a line break better draws the eye to the binary
operator, which makes it more obvious what's happening, e.g.:
if (a
&& b
&& c)
These days, I personally choose a style depending on which of those
factors I consider more important in an individual situation.
What do you think?
More information about the dev
mailing list