[Python-Dev] ACCEPTED: PEP 285 (original) (raw)

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