How can we deal with Message rot?

Jerome Peace peace_the_dreamer at yahoo.com
Wed Dec 27 05:36:36 UTC 2006


How can we deal with Message rot?


Hi all,

This is a plea from a bug tracker for some guidance.

People in the community know that code that does not
stay in the image suffers from bit rot.
That is it gets more and more incompatible with what
is there.

In my travels (thru code) I have come across a more
pernicious decay. It can be best described a message
rot. 

Basically a shared message loses its meaning. Or to be
more exact is given different meanings by different
Classes. The classes writen at different times or by
different authors all disagree on the meaning and thus
lose their polymorphism.

People will not be surprised to hear that the example
I have in mind is the meaning of forwardDirection,
rotationDegrees and heading. And also position,
referencePosition and centerOfRotation.

You can look at the code and track implementers and
senders to see how bad this problem has gotten. Any
bug in there I want to fix seems to involve clearing
up the whole tangle.

My problem and the guidance I seek it this.  A fix
will break backward compatability.  It has to because
once a confusion has been introduced the patches for
code use part of the confusion to patch around the
more objectionable bugs.  

How do I get community approval? I need consensus
amoung programmers it affects; Acceptance of the fixes
by the release team (of whatever future version it is
ready for.); And acceptance of the new understanding
as a standard amoung future enhancers and maintainers
of squeak. 

How is this best achieved?

Yours in curiosity and service, --Jerome Peace

Footnote: more details of the heading etc. confusion
can be found mantis

http://bugs.impara.de/view.php?id=5674

0005674: Why doesn't heading = forwardDirection +
rotationDegrees for all morphs all the time?	



__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 



More information about the Squeak-dev mailing list