From: Alexander Holler <holler@ahsoftware.de>
To: Jonathan Corbet <corbet@lwn.net>
Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH] CodingStyle: remove what nowadays might be considered polemic
Date: Sun, 21 Dec 2014 11:23:22 +0100 [thread overview]
Message-ID: <54969F9A.80301@ahsoftware.de> (raw)
In-Reply-To: <1418996188-2908-1-git-send-email-holler@ahsoftware.de>
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@ahsoftware.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@krabat ~]$ 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.
next prev parent reply other threads:[~2014-12-21 10:27 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-19 13:36 [RFC PATCH] CodingStyle: remove what nowadays might be considered polemic Alexander Holler
2014-12-21 10:23 ` Alexander Holler [this message]
2014-12-21 10:52 ` Alexander Holler
2014-12-21 17:09 ` Joe Perches
2014-12-22 11:51 ` Alexander Holler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54969F9A.80301@ahsoftware.de \
--to=holler@ahsoftware.de \
--cc=corbet@lwn.net \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox