Re: warning: massive change to conditional coding style in net?

From: Jarek Poplawski
Date: Mon Nov 30 2009 - 08:44:40 EST


On 30-11-2009 11:36, William Allen Simpson wrote:
> Over the past several days, David Miller (with help from Joe Perches)
> made sweeping changes to the format of conditional statements in the
> net tree -- the equivalent of mass patches that change spaces.
>
> This makes writing patches for multiple versions of the tree very
> difficult, and will make future pullups problematic. It's enough to
> make a grown man cry.... Patching conflicts everywhere!
>
> CodingStyle is mute on this issue. Does Linus have a preference?
>
> My personal practice (based on decades of open source projects) has
> been to use a form already used in the same file or section of code,
> matching the existing practice.
>
> If this is to be done everywhere, CodingStyle (and SubmittingPatches)
> should be updated.
>
> Currently, roughly 19% (7855 lines) of the -2.6 tree uses leading form:
>
> if (condition
> && condition
> && (condition
> || condition
> || condition)) {
>
> Single spaced is also fairly common:
>
> if (condition
> && condition
> && (condition
> || condition
> || condition)) {
>
> The advantage of the leading form is *readability* due to indentation,
> ease of patching and reading patches (changes affect only 1 line,
> instead of previous and following lines), and especially conditionals
> within #if sections. Also, shorter lines (by 3 characters).
>
> The other 81% uses trailing form, often with odd random line breaks:
>
> if (condition &&
> condition && (condition || condition ||
> condition)) {
>
> Miller (with Perches) changed hundreds (thousands?) of these to
> trailing form. This results in a number of hilarious examples --
> lines with both leading and trailing, lines with only &&, etc. A
> small sample for illustration:

Yes, it's even enough to make a grown man laugh....

Jarek P.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/