lkml.org 
[lkml]   [2003]   [Jan]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: any chance of 2.6.0-test*?
> 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.

Good. (although I don't know why I'm replying as this thread
is way overdone....:)

> 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
or put
> 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.

There are goto-less languages, even Algol-like ones.
And OSes can be written in them.
Well, they just have different names for JUMP.

~Randy



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

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