Scott Hill wrote:

I agree with this. The expression $x = $y==1; is valid but it's hard to read. In order for our code to have any kind of legacy, it might be best to type a few more characters and use
$x = false;
if ($y == 1)
    $x = true;
or whatever else we can type to help others after us figure out what we meant to do (or at least get close);

I emphatically agree that code ought to be written with readers in mind. In fact, I think that human readers are more important than the computer interpreter/compiler. However, I disagree that your example is more readable. For example, I consider this:

  $x = ( $y == 1 );

To be more readable than this:

 $x = false;
 if ( $y == 1 )
   $x = true;

Simply because there is less to read!

By the same argument, I prefer boolean function return values like this:

  return ( $y == 1 );

Over this:

 if( $y == 1 )
   return true;
 else
   return false;

Because it is less to read and less error prone.

I think my version conveys more meaning in fewer characters. So you may ask: what about programmers who aren't familiar with the syntax? Well, I opine that they ought to learn it because it's very expressive. If you don't know that syntax, it might mean you have a misunderstanding of how your language deals with boolean expressions (not to mention its assignment operator), which is quite fundamental to any language.

Just my 2 cents.

--Dave

_______________________________________________

UPHPU mailing list
[email protected]
http://uphpu.org/mailman/listinfo/uphpu
IRC: #uphpu on irc.freenode.net

Reply via email to