Paul,

Your experience is always welcomed! As a general rule I find that I
learn a lot about Java from the way JUMP was designed, but every once
in a while I run across something that could have been done a little
differently. (For example, I find that a lot of the rendering system
is tightly coupled with the Swing GUI, which has caused be problems
when trying to write unit tests.)

It is also important to remember that we are writing and maintaining
an open source program. To me that means the understandable code is
almost as important, or more important, than efficient code. If
OpenJUMP can't continue to attract new programmers, and turn existing
users into new Java programmers she will slowly die. The lower we can
make the bar to understanding OpenJUMP's code the healthier this
process of attracting/converting programmers will be.

Lerry wrote: "I for one, didn't know any Java at all
before starting with JUMP in January of 2004.  My previous GIS
projects were in C++ and object pascal."

Wow! I would have never guessed that you had only just started
programming in Java. I am now even more humbled than before. (I've
been trying to code a little on Inkscape, so I might have to ask you a
C++ question or two.) :]

The Sunburned Surveyor

On 7/3/07, Larry Becker <[EMAIL PROTECTED]> wrote:
> Thanks for the tips, Paul.  It is great when we can encourage each
> other to write better code. I for one, didn't know any Java at all
> before starting with JUMP in January of 2004.  My previous GIS
> projects were in C++ and object pascal.  It was hard but I think I
> have finally made peace with Java's voracious memory appetite.
>
> regards,
> Larry
>
> On 7/3/07, Paul Austin <[EMAIL PROTECTED]> wrote:
> > I've been looking through the JUMP code in various places and it looks
> > like there are a lot of cases where custom sub classes are created just
> > to change a few parameters on a class (e.g.
> > com.vividsolutions.jump.workbench.ui.renderer.style.ArrowLineStringEndpointStyle).
> > In this class it defines a number of sub classes for each different
> > style, all that changes in some of these classes is the name, start
> > indicator, image, min angle, min length and if it's filled.
> >
> > By creating sub classes for each of these you add extra overhead to the
> > application as it needs to have the Class definition loaded in the
> > PermGen space of the application.
> >
> > By contrast if you had a factory based approach that would create
> > instances of the class you could have a couple of factories and a few
> > implementations for the different parameterizations possible then the
> > overhead you have is a few bytes for the configuration paramters rather
> > than the KBs for the class definitions.
> >
> > I'm not suggesting that we go and wholesale change the existing code but
> > it's something we should be aware of when implementing new features. The
> > areas where we can create generic components include.
> >
> > - Event handling
> > - Object edit panels, tables
> >
> > Paul
> >
> > -------------------------------------------------------------------------
> > 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
>

-------------------------------------------------------------------------
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