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

David Malcolm dmalcolm at redhat.com
Tue Jun 7 23:35:29 CEST 2011

On Tue, 2011-06-07 at 11:03 +0200, M.-A. Lemburg wrote:
> Georg Brandl wrote:
> > On 06/07/11 05:20, brett.cannon wrote:
> >> http://hg.python.org/cpython/rev/fc282e375703
> >> changeset:   70695:fc282e375703
> >> user:        Brett Cannon <brett at python.org>
> >> date:        Mon Jun 06 20:20:36 2011 -0700
> >> summary:
> >>   Remove some extraneous parentheses and swap the comparison order to
> >> prevent accidental assignment.
> >>
> >> Silences a warning from LLVM/clang 2.9.
> > 
> > Swapping the comparison order here seems a bit inconsistent to me. There are
> > lots of others around (e.g. "len == 0" in the patch context below). Why is
> > this one so special?
> >
> > I think that another developer even got told off once for these kinds of
> > comparisons.
> >
> > I hope the Clang warning is only about the parentheses.
> 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.

[FWIW, I'm one of the reprobates that likes to put the constant on the
LHS when I'm coding in C, but I see I'm in the minority here]

I know that this style is unpopular, but if it helps, try mentally
pronouncing  "=="  in C as  "is the value of".

In this example, when I read that line, my mind is thinking:
   "if 'u' is the value of typecode"

After ~12 years of doing this, it comes naturally.  I appreciate that
this may come across as weird though :)


Hope this is helpful

More information about the Python-Dev mailing list