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