>> You don't want do have a postfix { ... } if condition.  It's evil

>I don't see how this is any worse than a postfix while()

Look closer: do { ... } while does not require the reader to 
scan down to find out the condition *BEFORE* the loop is
entered.  With an if, it does.

>> Because it hides the decision way down at the bottom, despite its
>> having been made first.

>We already have a trailing if statement, so this argument is edgy, at
>best. 

Your brain/eye can look one statement.  It's evil and wrong to make
it look infinite statements forward.  How can you pretend those are
the same?

>Granted, the do {} is misleading. A do {} block is always executed, at
>least once. 

No, it's not.  

    do { .... } if 0;

never executes.  Nay, not even once.

--tom

Reply via email to