It seems like a lot of the features in jde need to scan java sources for
regexps.  Wouldn't it maybe be a good idea to try to build up a repository
that goes along with the source, which new features could be built upon?
Along with the advantages this would bring it would certainly imply a lot of
work and disadvantages of various kinds.  I haven't given this much thought,
but maybe somebody else already has?

--
knut

> -----Original Message-----
> From: Richard den Adel [SMTP:[EMAIL PROTECTED]]
> Sent: Monday, March 19, 2001 8:04 AM
> To:   Kevin A. Burton
> Cc:   [EMAIL PROTECTED]
> Subject:      Re: [thinking out loud] adding refactoring support to the
> JDE.
> 
> I am using JRefactory right now, it is open source. JRefactory is 
> written in Java and currently supports integration with JBuilder and 
> some other IDE's.
> 
> I am not a lisp wizard, but it might be possible to integrate JRefactory 
> with JDE using the beanshell or something simular. JRefactory currently 
> supports refactorings based on a UML model generated by JRefactory the 
> first time for a package.
> 
> You can take a look at it at this page :
> http://jrefactory.sourceforge.net/chrisdown.html
> 
> JRefactory depends on `pretty printer', which can modify your source 
> code according to a code standard.
> 
> Richard.
> 
> Kevin A. Burton wrote:
> 
> > OK.
> > 
> > I think some of you have heard of refactoring.  It has really taken off
> recently
> > as another technique for improving the quality of existing code.
> > 
> > While I think that is well and good, the use of refactoring tools can
> save
> > developers TONS of time.  I would really like to see some type of tool
> support
> > for this in the JDE even if we have to write it ourselves.
> > 
> > A good example of how much time it takes is a standard Java refactor of
> "rename
> > package".  Just look at how much work this is:
> > 
> >   - create the new directory
> >   - update the package statement.
> >   - remove the old directory from cvs and add the new directory
> >   - go over all files and change their import statement.
> >   - now go over all your additional projects that used this package and
> update
> >   - *their* import statements.
> > 
> > Last night I had to change 5 packages and this took 40 minutes.  A
> refactoring
> > tool could have done this in 3. :(  It is not like this is rocket
> science but I
> > would rather spend time working on algorithms than renaming files and
> making
> > sure everything compiles.  I would estimate that I spend 60% of my
> development
> > time on refactoring efforts.
> > 
> > I have given a good deal of thought to this over the last few days.
> There are
> > no decent Open Source/Free Software refactoring tools available.  Even
> the
> > proprietary ones aren't that great.  This is good news as it means we
> have a
> > good opportunity to create a solid tool.
> > 
> > I think there are also some issues here though:
> > 
> > - what language do we write it in?
> > 
> >    - writing it in elisp has some advantages because it would work
> natively and
> >      have support for the JDE.  There are also some drawbacks:
> > 
> >       - other Java developers on outside IDEs (netbeans) won't be able
> to use
> >         it.  At the very least even if these aren't emacs people they
> are still
> >         smart and should have some feedback and could contribute to
> >         development. 
> > 
> >       - We will have deal with the non-threaded nature of Emacs.  Emacs
> will be
> >         locked on IO when dealing with files.  It would be nice if I
> could kick
> >         off a refactor and then go about reading my e-mail again.
> > 
> >    - writing it in Java would be good but:
> > 
> >     - we would have to use a regexp package for some of the files.  The
> good
> >       thing is that a lot of this is already in gnu-regexp.
> > 
> >     - some logic would have to be dedicated to parsing information from
> .java
> >       files.  Where a method starts, what its params are, etc.  Semantic
> already
> >       give this to use.
> > 
> > I think I have convined myself that it should be in java with a lisp
> interface
> > into the JDE.
> > 
> > Anyway.  Is there anyone out there interested in working on this with
> me?
> > Hopefully someone who has the refactoring book too :).  I think we could
> at
> > least work on the architecture in our spare time and then start
> scratching our
> > individual refactoring tool itch.  I want to work on "rename package"
> first.
> > 
> > Kevin
> > 

Reply via email to