From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,9a0ff0bffdf63657 X-Google-Attributes: gidfac41,public X-Google-Thread: 1108a1,9a0ff0bffdf63657 X-Google-Attributes: gid1108a1,public X-Google-Thread: 103376,4b06f8f15f01a568 X-Google-Attributes: gid103376,public X-Google-Thread: f43e6,9a0ff0bffdf63657 X-Google-Attributes: gidf43e6,public From: ell@access.digex.net (Ell) Subject: Re: Software landmines (loops) Date: 1998/08/31 Message-ID: <35f51e53.48044143@news.erols.com>#1/1 X-Deja-AN: 386319258 Content-Transfer-Encoding: 7bit References: <902934874.2099.0.nnrp-10.c246a717@news.demon.co.uk> <6r1glm$bvh$1@nnrp1.dejanews.com> <6r9f8h$jtm$1@nnrp1.dejanews.com> <6renh8$ga7$1@nnrp1.dejanews.com> <6rf59b$2ud$1@nnrp1.dejanews.com> <6rfra4$rul$1@nnrp1.dejanews.com> <35DBDD24.D003404D@calfp.co.uk> <6sbuod$fra$1@hirame.wwa.com> Content-Type: text/plain; charset=us-ascii X-Complaints-To: abuse@rcn.com X-Trace: winter.news.erols.com 904536716 15804 207.172.33.250 (31 Aug 1998 04:11:56 GMT) Organization: Universe Mime-Version: 1.0 Reply-To: ell@access.digex.net Newsgroups: comp.lang.eiffel,comp.object,comp.software-eng,comp.lang.ada Date: 1998-08-31T00:00:00+00:00 List-Id: "Robert Martin" wrote: >Matthew Heaney wrote in message ... >> >>If theory says use a construct, but observation reveals that programmers >>who use the construct produce more errors, then the theory needs to be >>thrown out. >All else being equal, that would be so. But when observation shows that the >construct reduces the overall cost of maintaining the program, regardless of >its initial cost, then it ought not be thrown out. Yes if what you say is true then we should keep it, but he is saying that programmers who use it are producing more errors. Do you grasp that, or will you insist on stating groundless tautologies? >>For example, there's a pernicious myth that exiting (or returning) from >>the middle of a loop is bad, and that the only proper way to write a >>loop is to state the termination condition explicitly, as a predicate >>appearing at the top of the loop. >Yes. That pernicious myth is called "structured programming". Please cite even just a single structured programming text, or founder where what you say here was asserted. >>This theory was indeed put to the test, and guess what? Programmers >>using a test-and-exit from the middle of the loop produced fewer errors >>than those programmers who tried to put the test at the top of the loop. >>Cognitive Strategies and Looping Constructs: An Empirical Study >>Soloway, Bonar, Ehrlich >>CACM, Nov 83, Vol 26, No 11, p 853-860 >>The researchers found that the exit-from-the-middle construct had a >>better "cognitive fit" than the other constructs. >"Cognitive fit" is probably not a very good criterion for good engineering. >GOTO has a very good cognitive fit. So does a flat Earth. I would assert that 'goto' spaghetti coding is only a cognitive fit to you, and handful of others, not most of us. Flat earth is not cognitive to people living on the coast who see the mast of a ship appear before the bow. Elliott -- :=***=: Objective * Pre-code Modelling * Holistic :=***=: Hallmarks of the best SW Engineering "The domain object model is the foundation of OOD." Check out SW Modeller vs SW Craftite Central : www.access.digex.net/~ell Copyright 1998 Elliott. exclusive of others' writing. may be copied without permission only in the comp.* usenet and bitnet groups.