Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84; site 3comvax.UUCP
Path: utzoo!linus!philabs!cmcl2!seismo!lll-crg!ucdavis!ucbvax!decvax!decwrl!Glacier!oliveb!3comvax!mikes
From: mikes@3comvax.UUCP (Mike Shannon)
Newsgroups: net.lang.c
Subject: Re: break, continue, return, goto (net.religion.c)
Message-ID: <273@3comvax.UUCP>
Date: Wed, 6-Nov-85 18:13:07 EST
Article-I.D.: 3comvax.273
Posted: Wed Nov  6 18:13:07 1985
Date-Received: Sat, 9-Nov-85 07:07:24 EST
References: <771@whuxl.UUCP> <516@busch.UUCP> <779@whuxl.UUCP>
Distribution: net
Organization: 3Com Corp; Mountain View, CA
Lines: 34

More from Mike Baldwin:
> 	for (X) {
> 		/******************/
> 		/* masses of code */
> 		/******************/
> 		if (error) {
> 			bleck;
> 			continue;
> 		}
> 		/******************/
> 		/* masses of code */
> 		/******************/
> 	}

	I often see good reason for break/continue when parsing arguments
or other input (usually from a human) which may be of the form:
SomeGoodStuff SomeGarbage SomeMoreGoodStuff
	But I *really* (religiously? :-)) question whether the above 'for'
statement is good top-down design.  I think I would at least re-code
the above as:
	for(x) {
		if(p1() != error) {
			p2();
		}
		else {
			bleck;
		}
	}

	If code bulk is causing readibility problems, rework your solution
from the top down.  Procedurize and reduce code bulk.
[In Nomine Patri, et Fili, et Spiritu Santu. Amen.]
-- 
			Michael Shannon {ihnp4,hplabs}!oliveb!3comvax!mikes