Re: [RFC PATCH] CodingStyle: remove what nowadays might be considered polemic

From: Alexander Holler
Date: Sun Dec 21 2014 - 05:27:56 EST


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@xxxxxxxxxxxxx>
---
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.

--
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/