[lkml]   [2003]   [Jan]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: any chance of 2.6.0-test*?
Hash: SHA1

Gotos aren't the root of code evil. Poor design style is and poor
preparation is the root of spaghetti code. Use the right tool for the
job which includes 'goto'. Every teacher that I've met who has an
objection to the use of gotos has been quite naive, often recommends
avoiding pointers, frequently suggests you restrict your strings to 255
characters or less, etc, etc. The oddball extras vary from teacher to
teacher, but the overall impression of the teacher makes me want to
avoid them even with that 10 foot pole.

It's not the fault of the student for being taught wrong, but it is the
fault of the student for ignoring possibile variances of others.
Particularly the "worldly wise"; people who actually write code for the
real world v.s. lectures.


Rob Wilkens wrote:

>On Sun, 2003-01-12 at 14:38, Linus Torvalds wrote:
>>I think goto's are fine
>You're a relatively succesful guy, so I guess I shouldn't argue with
>your style.
>However, I have always been taught, and have always believed that
>"goto"s are inherently evil. They are the creators of spaghetti code
>(you start reading through the code to understand it (months or years
>after its written), and suddenly you jump to somewhere totally
>unrelated, and then jump somewhere else backwards, and it all gets ugly
>quickly). This makes later debugging of code total hell.
>Would it be so terrible for you to change the code you had there to
>_not_ use a goto and instead use something similar to what I suggested?
>Never mind the philosophical arguments, I'm just talking good coding
>style for a relatively small piece of code.
>If you want, but comments in your code to meaningfully describe what's
>happening instead of goto labels.
>In general, if you can structure your code properly, you should never
>need a goto, and if you don't need a goto you shouldn't use it. It's
>just "common sense" as I've always been taught. Unless you're
>intentionally trying to write code that's harder for others to read.
Version: GnuPG v1.2.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla -


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:32    [W:0.163 / U:43.088 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site