Beefy Boxes and Bandwidth Generously Provided by pair Networks Bob
Don't ask to ask, just ask
 
PerlMonks  

Re: Re: Re: block-based programming...

by elusion (Curate)
on Apr 22, 2004 at 19:24 UTC ( #347464=note: print w/ replies, xml ) Need Help??


in reply to Re: Re: block-based programming...
in thread block-based programming...

And I would make a small change on that to use a break and reduce the level of indentation.

while (close(soc) < 0) { if (errno == EINTR) continue; perror("close"); exit 1; }
I hope that's valid C. I don't really use it much.


Comment on Re: Re: Re: block-based programming...
Download Code
Re: Re: Re: Re: block-based programming...
by flyingmoose (Priest) on Apr 22, 2004 at 19:46 UTC

    Here is why I did that though -- continue is just a goto by any other name. It leads to pollution of readable conditionals and loops just as the way a real goto causes an avoidance of conditionals and loops.

    The end result of using continue in long blocks of nested code is code that cannot be easily skimmed or traced .. a lesson learned by reading many many thousands of lines of bad C code. Especially when the level of nesting exceeds one, continue becomes a jump. Continue with block labels is even worse -- it's a PURE goto, only more politically correct. Someone will say "I can handle the power!", but I say "think of the children!".

    Also, your loop (by looking at indentation) implies that the perror() is in the main path of code execution, because it is masked by the indentation of the if -- which leads me to think "why is he executing exit periodically in a loop". My example avoids that by making the perror the exception rather than the rule. Subtle, but there was a method to my madness there. And of course, I am mad. There is no doubt about that.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://347464]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (9)
As of 2014-04-21 16:33 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (497 votes), past polls