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.2 required=5.0 tests=BAYES_00,INVALID_MSGID, TO_NO_BRKTS_FROM_MSSP 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: Phil Goodwin Subject: Re: Software landmines (loops) Date: 1998/09/03 Message-ID: <6smv8q$cc5$1@nnrp1.dejanews.com>#1/1 X-Deja-AN: 387584252 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> <6sjk3p$4tc$1@hirame.wwa.com> <6skgn4$3gq$1@hirame.wwa.com> <6sm6md$3fh$1@hirame.wwa.com> X-Http-Proxy: 1.0 x12.dejanews.com:80 (Squid/1.1.22) for client 38.222.136.64 Organization: Deja News - The Leader in Internet Discussion X-Article-Creation-Date: Thu Sep 03 20:47:21 1998 GMT Newsgroups: comp.lang.eiffel,comp.object,comp.software-eng,comp.lang.ada X-Http-User-Agent: Mozilla/4.05 [en] (WinNT; I) Date: 1998-09-03T00:00:00+00:00 List-Id: In article <6sm6md$3fh$1@hirame.wwa.com>, "Robert Martin" wrote: > > Matthew Heaney wrote in message ... > >My philosophy is, handle the simple case first, then bail out: > > > > for (;;) > > { > > Get (N); > > > > if (!N) break; > > > > > > } > > Ask yourself why 'break' is the most important concept of this function? > Why is it more important to get the exceptional conditions out of the way > first rather than to get right into the actual purpose of the function. You are absolutely right about readability Robert, I read this as "!N is a precondition of . It IS important to know what the preconditions of the function are before you get into the actual purpose of the function. > I prefer a style that moves into the real action of the function as quickly > as possible, while deferring the exceptional conditions to the end. > > Consider this, would you prefer that catch statements *precede* try blocks? > > catch(memerr) > { > } > catch(fileerr) > { > } > try > { > } No but I generally prefer that 'if' statements precede their blocks. Perl lets you do it either way which is nice sometimes but in general you really want to know about all the assumptions that are being made up front. Phil -----== Posted via Deja News, The Leader in Internet Discussion ==----- http://www.dejanews.com/rg_mkgrp.xp Create Your Own Free Member Forum