I agree with Martin.  Modifying Coordinate values in-place is probably
a bad idea, however I'm pretty sure I've been guilty.  What I'm trying
to figure out now, is a good way to find out where and how many times.

regards,
Larry Becker

On 6/25/07, Martin Davis <[EMAIL PROTECTED]> wrote:
>
>
> Michaël Michaud wrote:
> >
> > @Martin : Please, can you explain what immutability means for
> > coordinates. I see that x,y,z are public fields (and I remember I often
> > changed them via small scripts, especially the z value). But may be I
> > have no clear idea about immutability and its advantages.
> >
> >
>
> Well, it's pretty simple. If you have a tool that works by altering the
> ordinate values in a Coordinate, and you are using the "interned
> Coordinate" strategy, you are going to get bugs, since Geometrys will
> change unexpectedly when their shared Coordinate values are changed by
> someone else.
>
> The public x,y,z in Coordinate were originally there for efficiency
> reasons.  Probably a bad idea. In fact, Coordinate should have simply
> been an interface.  But too late to change now!  However, an application
> like JUMP should make it a blanket policy that Coordinate values should
> never by changed.  Any other policy leads to insanity, IMO.
>
> HTH - Martin
>
> --
> Martin Davis
> Senior Technical Architect
> Refractions Research, Inc.
> (250) 383-3022
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>


-- 
http://amusingprogrammer.blogspot.com/

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to