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: 103376,4b06f8f15f01a568 X-Google-Attributes: gid103376,public X-Google-Thread: f43e6,9a0ff0bffdf63657 X-Google-Attributes: gidf43e6,public X-Google-Thread: 1108a1,9a0ff0bffdf63657 X-Google-Attributes: gid1108a1,public From: Ell Subject: Re: Software landmines (loops) Date: 1998/09/06 Message-ID: #1/1 X-Deja-AN: 388506346 References: <6rf59b$2ud$1@nnrp1.dejanews.com> <6sh3qn$9p2$1@hirame.wwa.com> <6simjo$jnh$1@hirame.wwa.com> <35eeea9b.2174586@news.erols.com> <6sjj7n$3rr$1@hirame.wwa.com> <35f055a5.1431187@news.erols.com> <6sjnlu$83l$1@hirame.wwa.com> <6skfs7$2s6$1@hirame.wwa.com> <35F252DD.5187538@earthlink.net> <6sur5m$n9o$1@hirame.wwa.com> X-Complaints-To: abuse@digex.net X-Trace: newsreader.digex.net 905119781 205.197.245.196 (Sun, 06 Sep 1998 18:09:41 EDT) Organization: The Universe User-Agent: tin/pre-1.4-980226 (UNIX) (SunOS/4.1.4 (sun4m)) NNTP-Posting-Date: Sun, 06 Sep 1998 18:09:41 EDT Newsgroups: comp.lang.eiffel,comp.object,comp.software-eng,comp.lang.ada Date: 1998-09-06T00:00:00+00:00 List-Id: In comp.object Robert Martin wrote: : Matthew Heaney wrote in message ... :>As Bob Eachus pointed out, we can't even agree on what "single exit" :>means. According to him, you could interpret that to mean that the :>subprogram has a single point of return - to the point of call. : Dijkstra was quite specific about it. He drew dotted boxes around the flow : charts that depicted the four possible control structures, and showed one : line crossing through the top into the control structure, and another : leaving the control structure and crossing the dotted line at the bottom. But a control stucture can be viewed as a logical whole. Control flow passes through what the structure represents logically, not every phyiscal aspect. For example how can control flow go through both physical exit paths of branch structure? It's impossible. :>I argue against using only a single return statement, because it often :>means that you have to do work to do ... nothing. Once I determine my :>answer (or satisfy the conditions for loop termination), then I'd rather :>return immediately, instead of having to figure out how to navigate my :>way to the end of the subprogram. : This is effective iff returning immediately is, and always will be, the : right thing to do. But if there is a reasonable chance that you will have : to do some error handling at some time in the future, then maintaining an : se/se style provides place holders for that future code. : : BTW, that is nothing more than a benefit. One could still make a realistic : and valid decision to forego that benefit. And one could attempt to achieve other possibly more useful benfits given specific circumstances. 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.