wannhedenk
Mon, 19 Mar 2001 00:20:25 -0800
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 > >