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: f43e6,9a0ff0bffdf63657 X-Google-Attributes: gidf43e6,public X-Google-Thread: 103376,4b06f8f15f01a568 X-Google-Attributes: gid103376,public X-Google-Thread: 1108a1,9a0ff0bffdf63657 X-Google-Attributes: gid1108a1,public From: "Robert Martin" Subject: Re: Software landmines (loops) Date: 1998/08/31 Message-ID: <6sfcft$70p$1@hirame.wwa.com>#1/1 X-Deja-AN: 386605348 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@news.erols.com> <6sdiav$e0g$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-08-31T00:00:00+00:00 List-Id: Stephen Leake wrote in message ... >"Robert Martin" writes: > >> "Structured Programming", Dijkstra, Dahl, Hoare, Academic Press, 1972. p. >> 16-23 "7. On Understanding Programs". Actualy this section says that >> there are two different kinds of loops. one that is tested at the top; and >> another which is tested at the bottom. But in all cases, the elements of >> structure programming have a single entry and a single exit. A loop that >> exits in the middle, violates this maxim. > >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. 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