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=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,4b06f8f15f01a568 X-Google-Attributes: gid103376,public X-Google-Thread: fac41,9a0ff0bffdf63657 X-Google-Attributes: gidfac41,public X-Google-Thread: f43e6,9a0ff0bffdf63657 X-Google-Attributes: gidf43e6,public X-Google-Thread: 1108a1,9a0ff0bffdf63657 X-Google-Attributes: gid1108a1,public From: "Robert Martin" Subject: Re: Software landmines (loops) Date: 1998/09/02 Message-ID: <6sjk3p$4tc$1@hirame.wwa.com>#1/1 X-Deja-AN: 387135358 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> <35f51e53.48044143@ <904556531.666222@miso.it.uq.edu.au> <6sgror$je8$3@news.indigo.ie> <6sh3qn$9p2$1@hirame.wwa.com> <6simjo$jnh$1@hirame.wwa.com> X-MimeOLE: Produced By Microsoft MimeOLE V4.72.2106.4 Organization: WorldWide Access - Midwestern Internet Services - www.wwa.com Newsgroups: comp.lang.eiffel,comp.object,comp.software-eng,comp.lang.ada Date: 1998-09-02T00:00:00+00:00 List-Id: Matthew Heaney wrote in message ... >Without being able to exit from the middle of a loop, I'd have to do >this to terminate a read sequence: > > Get (N); > > while N /= 0 loop > > > > Get (N); > > end loop; > >So it's the structured approach which causes the redundancy, becuase Get >must be called twice. Consider: do { Get(N); if (N) } while (N); Structured programming allows the loop condition to be either at the top or the bottom. > >But Robert, this isn't just "gut reaction." Researchers empirically >demonstrated that programmers using an exit from the middle produced >fewer errors: > >Cognitive Strategies and Looping Constructs: An Empirical Study >Soloway, Bonar, Ehrlich >CACM, Nov 83, Vol 26, No 11, p853-860 Granted. I accept that as input to the cost side. However, as far as I know the study does not take into account the long term benefits of structured programming; which has been the major thrust of my argument. Indeed, my argument has taken as given the assertion that multiple exits are easier to write and read (for some). My argument says that there are other concerns, such as maintenance, that also must be taken into account. Robert C. Martin | Design Consulting | Training courses offered: Object Mentor | rmartin@oma.com | Object Oriented Design 14619 N Somerset Cr | Tel: (800) 338-6716 | C++ Green Oaks IL 60048 | Fax: (847) 918-1023 | http://www.oma.com "One of the great commandments of science is: 'Mistrust arguments from authority.'" -- Carl Sagan