Click here to Skip to main content
15,893,814 members

The Weird and The Wonderful

   

The Weird and The Wonderful forum is a place to post Coding Horrors, Worst Practices, and the occasional flash of brilliance.

We all come across code that simply boggles the mind. Lazy kludges, embarrassing mistakes, horrid workarounds and developers just not quite getting it. And then somedays we come across - or write - the truly sublime.

Post your Best, your worst, and your most interesting. But please - no programming questions . This forum is purely for amusement and discussions on code snippets. All actual programming questions will be removed.

 
GeneralRe: Gotoless programming Pin
code_junkie28-Feb-12 4:52
code_junkie28-Feb-12 4:52 
GeneralRe: Gotoless programming Pin
BobJanova28-Feb-12 5:11
BobJanova28-Feb-12 5:11 
GeneralRe: Gotoless programming Pin
Rachel Mant2-Jun-12 14:49
Rachel Mant2-Jun-12 14:49 
GeneralRe: Gotoless programming Pin
Member 834855428-Feb-12 5:44
Member 834855428-Feb-12 5:44 
GeneralRe: Gotoless programming Pin
cpkilekofp28-Feb-12 5:53
cpkilekofp28-Feb-12 5:53 
GeneralRe: Gotoless programming Pin
Member 316697428-Feb-12 3:14
Member 316697428-Feb-12 3:14 
GeneralRe: Gotoless programming Pin
George Dennie28-Feb-12 4:36
George Dennie28-Feb-12 4:36 
GeneralRe: Gotoless programming Pin
cpkilekofp28-Feb-12 6:14
cpkilekofp28-Feb-12 6:14 
George Dennie wrote:
Of course not all conceivable "Goto" pattern has been captured. Consequently,
there are no doubt algorithms in which the "Goto" is either necessary or a
simplier description than combinations of the aforementioned patterns, as rare
as these may be.


Theoretically, ANY goto can be replaced with a finite state machine. Practically speaking, after ten years of trying I still never eliminated two goto's in a C module that did some rather hairy financial estimation at a former employer of mine, and I did eliminate the other several dozen or so that originally decorated the same module. It wasn't that it couldn't be eliminated, it was that the refactoring necessary to eliminate it was always too painful for the time we wanted to spend.

The fact is, though, that it's much easier to teach someone how a piece of structured code works than it is to teach how a piece of spaghetti code works. That same module was one evil monster to troubleshoot when it had its maximum lifetime gotos because it was not structured; I got permission to eliminate the gotos because the original guys who wrote it were gone, and even the owner/entrepeneur who'd come up with the algorithm couldn't explain exactly how the code was doing it, so any attempt to update or enhance it required hours to days of analysis first; after I got done, that time spent went down by at least 90%.

When you're not living with a piece of code but simply visit it every now and then, it does not pay to use any technique that you may not be able to understand easily a year or two later, especially if it's not your code but your employer's.
GeneralRe: Gotoless programming Pin
JackDingler28-Feb-12 2:35
JackDingler28-Feb-12 2:35 
GeneralRe: Gotoless programming Pin
ClockMeister28-Feb-12 3:51
professionalClockMeister28-Feb-12 3:51 
GeneralRe: Gotoless programming Pin
cpkilekofp28-Feb-12 8:01
cpkilekofp28-Feb-12 8:01 
GeneralRe: Gotoless programming Pin
ClockMeister28-Feb-12 8:19
professionalClockMeister28-Feb-12 8:19 
GeneralRe: Gotoless programming Pin
jschell28-Feb-12 13:44
jschell28-Feb-12 13:44 
GeneralRe: Gotoless programming Pin
Merlin8728-Feb-12 4:28
Merlin8728-Feb-12 4:28 
GeneralRe: Gotoless programming Pin
Peter Grogono28-Feb-12 6:09
Peter Grogono28-Feb-12 6:09 
GeneralRe: Gotoless programming Pin
AspDotNetDev22-Feb-12 12:21
protectorAspDotNetDev22-Feb-12 12:21 
GeneralRe: Gotoless programming Pin
CDP180223-Feb-12 13:29
CDP180223-Feb-12 13:29 
GeneralRe: Gotoless programming Pin
AspDotNetDev23-Feb-12 14:27
protectorAspDotNetDev23-Feb-12 14:27 
GeneralRe: Gotoless programming Pin
CDP180223-Feb-12 16:58
CDP180223-Feb-12 16:58 
GeneralRe: Gotoless programming Pin
leppie27-Feb-12 18:59
leppie27-Feb-12 18:59 
GeneralRe: Gotoless programming Pin
Jonathan C Dickinson27-Feb-12 21:27
Jonathan C Dickinson27-Feb-12 21:27 
GeneralRe: Gotoless programming Pin
leppie27-Feb-12 22:36
leppie27-Feb-12 22:36 
GeneralRe: Gotoless programming Pin
DerekT-P28-Feb-12 1:36
professionalDerekT-P28-Feb-12 1:36 
GeneralRe: Gotoless programming Pin
Kirk Wood28-Feb-12 1:46
Kirk Wood28-Feb-12 1:46 
GeneralRe: Gotoless programming Pin
Jonathan C Dickinson28-Feb-12 1:56
Jonathan C Dickinson28-Feb-12 1:56 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.