Bernd Petrovitsch bernd at
Fri Jul 17 06:00:32 EDT 2015


On Fre, 2015-07-17 at 15:55 +0800, Navy wrote:
> Goto is recommend in linux kernel programming, but it is despised in 
> many other situation. There are four rationable for using goto in

"goto" is (usually totally) forbidden for beginners/inexperienced
programmers because some of us are old enough to have started
programming with Basic on the C64 (no functions there - just "goto" and
"gosub") and know what may happen in the long run if you write more than
a hello-world.c ...
My usual answer to "when may or should I use 'goto'" is: You will know
when it's time - before that, simply don't use it.

>  Documentation/CodingStyle. Do you have some viewpoints about "why
> goto" or "why not goto"? I'm glad to get your point.

It mainly depends *how* you use it - see the patterns in the kernel for
not so bad ones;-)
And - as others wrote - rewrite the code without 'goto' and look into it
after 3 months and decide which version is more readable/understandable.

BTW that holds for all programming "style advices" (starting from "when
should i factor out a function" over "how large should a function should
be" and "too few or too many comments" to ...).
It is like everywhere else: If the guideline is trivial to check, it is
probably silly anyways.

The big goal in (99,9% of) software development is: You want source code
to be as easy to read and understand as possible - and nothing else!

Coding style guidelines are just that: guidelines in that direction but
never necessary nor sufficient to guarantee that (so the occasional
violation for good reason - which one writes into a comment;-) - is not

"I dislike type abstraction if it has no real reason. And saving
on typing is not a good reason - if your typing speed is the main
issue when you're coding, you're doing something seriously wrong."
    - Linus Torvalds

More information about the Kernelnewbies mailing list