Ken: I guess I'm a product of how I've fixed the programs I've inherited.
Virtually all of my client's systems pre-exist me and 90% of them are home-grown code instead of being a Package. Thus, I've inherited a great diversity of styles and techniques. Day after day as I sift through this code to derive its purpose, I can see things that help and those that don't. Mind you, 99% of the prior code doesn't have any intermediate comments, barely a blurb at the top of the program regarding date, person and purpose and often has ambiguous names as BREAK.II or CRT SHL.FNDG or the like. Sometimes the only clue is the compile date. Maybe I'm surviving servicing the one-off clients that no-one else wants to deal with due to the inconsistencies. That might explain where I'm coming from. Thanks Mark Johnson ----- Original Message ----- From: "Ken Wallis" <[EMAIL PROTECTED]> To: <u2-users@listserver.u2ug.org> Sent: Sunday, December 02, 2007 5:58 AM Subject: RE: [U2] Deep and long indentations vs multiple exit points > I realise that I've largely been a lurker of late - making a living working > with jBASE pretty much full time now - but I'm afraid I can't let all these > apologists for our spaghetti inheritance slide by unchallenged. > > > > My view on code structure is very simple: > > > > One way in, one way out. Any block of code, no exceptions. Deal with it. > > > > I understand the point about deep indentations making code unreadable - > especially in the ubiquitous line editors that some people still insist on > using - but you can still code single entry/single exit point without > nesting anything especially deeply. That's what GOSUB and CALL are for. > > > > The poster who talked here about modern languages encouraging the throwing > of exceptions, and suggested that multiple exit point code in BASIC emulated > this missed the point that those languages provide exception handling > mechanisms such that you can always engineer a single exit point for each > block, and if you don't, then the language effectively creates one - perhaps > slightly further away - for you. MV BASIC on the other hand provides > absolutely no exception handling other than what is explicitly coded. > Indeed, if you want single exit point code in BASIC you have to work hard > for it, and many of the posters here clearly can't be bothered to. Not that > they're alone - pretty much every poxy 'C' example code segment you read in > an article or text book leaks like a sieve, carrying a weak disclaimer about > error handling code being omitted for the sake of simplicity or clarity - > and I've seen plenty of that sort of 'C' code distributed into production. > Don't worry, I'd have them up against the wall too, come the revolution. It > wouldn't just be the spaghetti BASIC merchants facing the wrong end of a > firing squad when I took over the world! > > > > Meanwhile, Mark, whose posts are almost guaranteed to stir me up, but who I > almost always manage to calm down and ignore, actually brushed up against an > important point during this thread - that the implicit top down evaluation > of CASE statements can sometimes hide the logic that is being coded and > cause grief to future programmers. Don't get me wrong - I'm a firm believer > in CASE statements, but I do think that coders sometimes actively use the > top down evaluation within them to achieve a purpose they don't document, > and that sometimes they just get lucky. In either of these situations, the > maintenance programmer who follows behind can make a simple alteration and > spend days working out what they've broken. > > > > That's my 2 cents worth, and I've got my flame suit buttoned up tight ;^) > > > > Cheers, > > > > Ken > > > > -----Original Message----- > From: Marco Manyevere > Sent: Thursday, 29 November 2007 3:18 AM > To: u2-users@listserver.u2ug.org > Subject: [U2] Deep and long indentations vs multiple exit points > > > > There has been a lot said recently about styles, standards and good practice > > and I wonder what your take is on deeply indented routines with a common > exit > > point versus unindented routines but with multiple exit points > ------- > u2-users mailing list > u2-users@listserver.u2ug.org > To unsubscribe please visit http://listserver.u2ug.org/ ------- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/