lkml.org 
[lkml]   [2014]   [Dec]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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@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.



\
 
 \ /
  Last update: 2014-12-21 11:41    [W:0.059 / U:0.280 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site