[Python-Dev] cpython: Remove some extraneous parentheses and swap the comparison order to

R. David Murray rdmurray at bitdance.com
Wed Jun 8 03:16:32 CEST 2011


On Tue, 07 Jun 2011 17:42:17 -0400, Alexander Belopolsky <alexander.belopolsky at gmail.com> wrote:
> ..
> >>> I agree with Georg: "if ('u' == typecode)" is not well readable,
> >>> since you usually put the variable part on the left and the constant
> >>> part on the right of an equal comparison.
> 
> I appear to be in the minority here, but this particular example does
> not strike me as egregiously unreadable.  To the contrary, by bringing
> the constant to the front, this form saves me from having to read to
> the end of the line.  The same mental economy appears when constants
> are brought to the front of chained if-elif cases in Python:
> 
> if 'a' == typecode:
>   ..
> elif 'b' == typecode:
>   ..
> 
> is slightly more readable than the more traditional alternative.
> Probably because I can mentally ignore the "== typecode" part and see
> the switch structure more clearly.

I don't do much C coding, so I don't have the right to an opinion on
that (FWIW, I find constant-first jarring).  But I'd hate to see the
above in python code.  The fact that you like it because it makes it
easier to read as a switch-like statement should instead tell you that
it is time to refactor the code.

--
R. David Murray           http://www.bitdance.com


More information about the Python-Dev mailing list