From: "Michael W. Ryder" <_mwryder@...> Date: 2008-04-23T05:55:05+09:00 Subject: Re: A couple of questions regarding class design Robert Dober wrote: > On Tue, Apr 22, 2008 at 9:15 PM, Michael W. Ryder > <_mwryder@worldnet.att.net> wrote: >> Robert Klemme wrote: > >> Coming from a background in computers from the 70's when the language was >> much closer to the metal I never had any problems with Go To or Jump. In >> assembler there is no way to not use Jumps for loops or conditional >> processing. Fortran and Basic were much the same way. I believe Knuth's >> original works were from this era and of course a lot of his code is in the >> MIX assembler. > Very true, but as I have mentioned one has to be disciplined. >> I can see the reason to eliminate jumping around in code when possible but >> think they can sometimes make a program easier to read. I find it easier to >> read a program that says "If error goto ERROR" over trying to figure out >> where a Break command goes. > Then maybe your methods are too complex, what about refactoring ;) > Honestly I try to avoid methods with more than 10-12 LOC (I do not > succeed all the time) but up to 20LOC might be acceptable. > You really *should* be able to see where the break goes. > Most of my programming is for business use. A lot of the time the user will make an entry and depending on what they enter the program will continue or jump to a totally different area. While it may be possible to do with a couple of different entries to eliminate the jumps I don't think it makes the code any more readable, and after that it is almost impossible. I did manage something like this in C using a case statement to determine what function to call next but Business Basic does not have this ability. > This all said, Knuth's MIX code is for sure easier to read than one of > my early Ruby methods :(. > > Cheers > Robert >> >> >> >>> If you want to read up on the matter, Wikipedia has quite an exhaustive >> coverage: >>> http://en.wikipedia.org/wiki/Structured_programming >>> >>> Kind regards >>> >>> robert >>> >> > > >