[Python-Dev] xturtle.py a replacement for turtle.py(!?) ATTENTION PLEASE!

"Martin v. Löwis" martin at v.loewis.de
Wed Jun 28 23:17:48 CEST 2006


Gregor Lingl wrote:
> Sorry Martin, but to me this seems not to be the right way to manage
> things.

As you explain later, this is precisely the right way; it is unfortunate
that it isn't always followed.

> (Who reviewed it? This is a _newly_added_ function -
> did nobody try it out yet? Incredible!!)

Apparently not. Thanks for pointing that out; Georg (who committed the
patch originally) just fixed it in r47151.

This illustrates the main point: Even small changes need careful review.
Much more so large changes.

[turtle does not just fill the shape, but the entire boundary polygon]
> What a shame!! An immanent bug, persistent
> for years now!

If the bug had existed for years, somebody could have contributed a
patch.

> Bugs like the one I detected above (by chance) cannot occur in the code of
> my xturtle, because I don't have to type the definitions of those
> frunctions
> into the script by hand. Instead they are generated automatically from the
> corresponding methods of RawPen and Pen respectively.

That's all good and well. It still needs to be reviewed.

> And aren't 25+ bugfree samplescripts of great variety
> and broad range in complexity to consider a more
> reliable proof of at least usability than the procedure
> you applied?

It's not only about finding bugs. It's also about studying the
consistency of the new API, and so on.

As for "reliable proofs": An automatic test suite for turtle.py
would be a good thing to have.

> A more courageous and less bureaucratic approach to the problem
> would be appropriate. Perhaps combined with some fantasy.

This bureaucracy has worked fine all the years, and in cases
where it was relaxed, we had to regret the changes we accepted
more often than not (just like the bug you discovered: the
patch should not have been accepted without test cases).

> P.S.: If this posting doesn't move points of view, at least
> it reveals one fixable bug in turtle.py (albeit also one unfixable!)

The approach used in xturtle (i.e. represent circles as polylines)
could also be used for turtle.py, no?

Regards,
Martin


More information about the Python-Dev mailing list