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: 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: "Robert C. Martin" Subject: Re: Software landmines (loops) Date: 1998/10/02 Message-ID: <6v2nr9$t8l$1@hirame.wwa.com>#1/1 X-Deja-AN: 397048944 References: <6qfhri$gs7$1@nnrp1.dejanews.com> <35cb8058.645630787@news.ne.mediaone.net> <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@news.erols.com> <6sdiav$e0g$1@hirame.wwa.com> <6sfcft$70p$1@hirame.wwa.com> <1dg8p3r.vfredh1aou58iN@n207167116191.inetworld.net> X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3 Organization: Object Mentor Inc. Newsgroups: comp.lang.eiffel,comp.object,comp.software-eng,comp.lang.ada Date: 1998-10-02T00:00:00+00:00 List-Id: Charles H. Sampson wrote in message <1dg8p3r.vfredh1aou58iN@n207167116191.inetworld.net>... >Robert Martin wrote: > >> Stephen Leake wrote in message ... >> >If there is only one 'exit' statement, why is this bad? >> > >> >loop >> > ... stuff >> > exit when ; >> > ... stuff >> >end loop; >> > >> >One entry, one exit. Perfectly clear. There's nothing magic about >> >putting the exit statement at the top or the bottom! >> >> In fact there is. If the exit condition is at the top or the bottom, then >> the body of the loop will always be excuted an exact integral number of >> times. However if the loop condition is in the middle, then the loop body >> will be executed a fractional number of times. > > Well, this is certainly a twist to me. I was taught the n-and-a- >half loop as an example of the inadequacy of loop structures in most >programming languages. Now it seems that everything has been turned >around 180 degrees and there is some sort of software principle (in some >peoples' minds) that the entire body of a loop must execute "an exact >integral number of times." As another responder has pointed out (not in >these words), in the presence of conditional statements it's not clear >what this condition means. My guess is that it's this: Every statement >immediately in the loop body executes on every iteration of the loop. >If this is an accurate statement of this new principle, my immediate re- >sponse is: So what? Why should we care? > > I apologize for responding to a post that's 31 days old. I got in >on this long thread very late and I'm running very hard to catch up. > The question that the post was addressing had to do with the definition of structured programming. A mid exit loop does not fall within the bounds defined by structured programming because the loop body does not then have a single entry and a single exit. This has nothing to do with whether mid exit loops are good or bad. It only has to do with whether mid exit loops conform to structured programming or not. 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