[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <54969F9A.80301@ahsoftware.de>
Date: Sun, 21 Dec 2014 11:23:22 +0100
From: Alexander Holler <holler@...oftware.de>
To: Jonathan Corbet <corbet@....net>
CC: linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [RFC PATCH] CodingStyle: remove what nowadays might be considered
polemic
Am 19.12.2014 um 14:36 schrieb Alexander Holler:
> In times where things like checkpatch do exist and are mandated to be used,
> it would be easy to warn if too many levels of indentation are used (e.g.
> by counting leading tabs).
>
> The paragraph before already says that more than 3 levels of indentation
> are bad, so the (removed) sentence nowadays only smells like an additional
> excuse or polemic (because you still could use an unholy number of e.g.
> 7 indentations, even within the limit of 80 chars).
>
> Signed-off-by: Alexander Holler <holler@...oftware.de>
> ---
> Documentation/CodingStyle | 4 ----
> 1 file changed, 4 deletions(-)
>
> diff --git a/Documentation/CodingStyle b/Documentation/CodingStyle
> index 618a33c..8e96b14 100644
> --- a/Documentation/CodingStyle
> +++ b/Documentation/CodingStyle
> @@ -31,10 +31,6 @@ the code move too far to the right, and makes it hard to read on a
> more than 3 levels of indentation, you're screwed anyway, and should fix
> your program.
>
> -In short, 8-char indents make things easier to read, and have the added
> -benefit of warning you when you're nesting your functions too deep.
> -Heed that warning.
> -
As I've become curious how many time the kernels source is already
screwed, I did some quick and simple stats on 3.18:
find /tmp/linux/ -name '*.c' -exec grep -P "^\t+return " {} \; | sed -e
's/^\(\t\+\).*/\1/' | wc -L
72
Uups, there is maximum of 8 levels of intendation (not 9, the first tab
isn't really an intendation as it's the leading tab of every code inside
a function). Quiet the maximum which is possible with the 80 character
limit. This made me even more curious, so I did:
[aholler@...bat ~]$ for i in $(seq 1 9); do echo -n "$i tabs: "; find
/tmp/linux/ -name '*.c' -exec grep -P "^(\t){$i}return " {} \; | wc -l; done
1 tabs: 233866
2 tabs: 189497
3 tabs: 45874
4 tabs: 9473
5 tabs: 1738
6 tabs: 249
7 tabs: 51
8 tabs: 15
9 tabs: 5
That means the kernels source is already screwed at at least 2058 places
And regarding that I've searched only for "<tab>return " this should be
enough proof, that the limit of 80 chars doesn't really help in regard
to levels of intendation.
Regards,
Alexander Holler
PS: Please don't start a discussion about the regexp I've used (if they
aren't wrong). They are a result of 10 minutes and are not the topic of
this mail (TIMTOWTDI).
PPS: If you are curious why I've spend the time to built and sent that
silly patch: I've heared that wrong argument that a maximum line length
of 80 chars helps in regard to keep the levels of intendation low once
too often. And the source was much likely always the kernels CodingStyle
document.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists