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: Patrick Logan Subject: Re: Software landmines (loops) Date: 1998/09/02 Message-ID: #1/1 X-Deja-AN: 387213930 References: <6rfra4$rul$1@nnrp1.dejanews.com> <35DBDD24.D003404D@calfp.co.uk> <6sbuod$fra$1@hirame.wwa.com> <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> <6sjk3p$4tc$1@hirame.wwa.com> Organization: Teleport - Portland's Public Access (503) 220-1016 NNTP-Posting-Date: Wed, 02 Sep 1998 11:46:43 PDT Newsgroups: comp.lang.eiffel,comp.object,comp.software-eng,comp.lang.ada Date: 1998-09-02T00:00:00+00:00 List-Id: In comp.object Matthew Heaney wrote: : "Robert Martin" writes: : > >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. : The thing I dislike about the above code fragment is that N gets tested : twice. If you memoize the result of the first test, then the second test is about as fast as can be... boolean test; ... do { ... test = N; if (test) ... } while (test); This does not add a new state to a decision table. It provides a mnemonic for the test condition. The redundant test is minimal compared to the other work in the loop, not to mention the rest of the application. If you are writing small methods anyway, then it is very clear what is occurring. -- Patrick Logan (H) mailto:plogan@teleport.com (W) mailto:patrickl@gemstone.com http://www.gemstone.com