[Python-Dev] ACCEPTED: PEP 285
Neal Norwitz
neal@metaslash.com
Wed, 03 Apr 2002 19:00:07 -0500
David Ascher wrote:
>
> Guido van Rossum wrote:
> >
> > > > Despite the negative feedback, I've decided to accept the PEP. The
> > > > most important perceived problem is that newbies tend to write
> > > >
> > > > if x == True: ...
> > > >
> > > > where they should write
> > > >
> > > > if x: ...
> > > >
> > > > I believe this problem should be solved by education (the Zen master
> > > > hits the student on the head with a stick, and the student gets
> > > > enlightenment) rather than by holding back what I believe will be a
> > > > useful feature.
> > >
> > > Would it not be "relatively" easy to add a compiler-time warning for
> > > most uses of this dangerous idiom?
> >
> > I think this would be a job for PyChecker. Neal?
>
> Neal just posted that PyChecker deals with it, which is great, but I
> don't think that PyChecker is enough - until PyChecker is part of the
> standard distribution and integrated with e.g. the interactive shell, I
> think that PyChecker is not likely to be used by novices. And we're
> talking about novices here, right?
>
> Come to think of it, getting PyChecker integrated w/ the interactive
> shell would be great! Hard, I suspect, but great!
Not too hard:
>>> from pychecker import checker
>>> import test_bool
test_bool.py:6: Comparisions with True are not necessary
test_bool.py:7: Comparisions with False are not necessary
If you always wanted this, you could add a PYTHONSTARTUP script
to do the import or you could add/modify sitecustomize.py.
It probably isn't perfect since I don't use this, but it could work.
Neal