Win a copy of Reactive Streams in Java: Concurrency with RxJava, Reactor, and Akka Streams this week in the Reactive Progamming forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Liutauras Vilda
  • Junilu Lacar
  • Jeanne Boyarsky
  • Bear Bibeault
Sheriffs:
  • Knute Snortum
  • Tim Cooke
  • Devaka Cooray
Saloon Keepers:
  • Ron McLeod
  • Stephan van Hulst
  • Tim Moores
  • Tim Holloway
  • Carey Brown
Bartenders:
  • Piet Souris
  • Frits Walraven
  • Ganesh Patekar

Refactoring Software

 
Greenhorn
Posts: 19
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I am interested to see what refactoring software people are using and what there experiences have been. I am compiling a list of what is currently available.
thanks,
julian
 
author
Posts: 14112
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Martin Fowler maintains a list at http://www.refactoring.com/#tools
The by far most powerfull refactoring browser I know is the one integrated in IntelliJ IDEA. I also had some good experiences with Instanciations JFactor.
Currently I am using Eclipse. Its refactoring support is still evolving, but already quite usefull.
 
author
Posts: 11962
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
With my inadequate experience and knowledge on Refactoring, it seems to me that when TheBestSoftwareInTheWorld Inc. makes an IDE and touts its "Industry-level Refactoring Features", they are actually speaking about "Tools->Refactoring->Rename class".
Well, I can see the enormous benefit of the above-mentioned feature when someone wants to change the name of a class some other developer invented ages ago, but where do you guys think refactoring has the biggest effect? What is it that developers want from refactoring in their CASE tools?
 
Greenhorn
Posts: 14
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I modestly recommend using RefactorIT. Integrates with NetBeans/Forte, JBuilder, JDeveloper. Evaluation version available.
 
Ranch Hand
Posts: 57
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have been using Eclipse and have been pretty impressed with its refactorings. Granted this is just a "baby step" as far as tool support -- but it is a step in the right direction. Some of the refactorings are simple things like "rename pkg" (which saves you a boatload in typing). Others are things like "Extract Method". Give it a try
 
Ranch Hand
Posts: 30
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I am going t have to agree with Ilja. IDEA by intelliJ is the simplest and most effective tool i have used for refactoring.
I have tried borland's built in refactoring options, and was very dissapointed. I also looked at RefactorIT, it looks impressive, but i hvae never actually tried it, since my IDE of choice is IDEA.
just my 2 cents worth ( not much since it is in canadian funds )
Tim
 
Ranch Hand
Posts: 153
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
From the posts above, we refactor by renaming or extracting classes to group common functionality. Is this what refactoring is all about?
 
Sheriff
Posts: 6920
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Those two are some of the popular refactorings, sure. There are many others including inlining variables, "pulling up" a method to a base class, and so on.
In essence, refactoring is the process of changing (and, hopefully, improving) the internals of a piece of software witout changing the public interface.
Refactoring can take place at many different levels, from changing the name of a local variable or re-ordering a few lines in a small method, right up to moving a whole web application from .NET to J2EE. The important thing is that at whatever level you choose, the interface to users or to other software remains constant.
In practice, refactoring is at its most useful when accompanied by an automated test framework. If you have a set of automated test "scaffolding" around the piece of software you are refactoring, you can proceed in a series of small, simple steps and re-run the tests after each one to make sure you haven't inadvertently "broken" anything. By judiciously choosing the refactoring steps, you can make sure that with each step the design of the software is immproved.
For more details you might want to look at some of the books, such as Bent Beck's "Smalltalk Best Practice Patterns" and Martin Fowler's "Refactoring - improving the design of existing code".
 
Ranch Hand
Posts: 121
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I am currently trying JBuilder. It's look RefactorIT able to helping me alot.
[ September 17, 2002: Message edited by: Steffy Sing ]
 
Ranch Hand
Posts: 30
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I used RefactorIT a lot during its beta period. It does work well -- a bit too pricey for an IDE add-on, but it does its job. I couldn't justify the cost with most IDEs seeming to work on adding these features.
As to what I used mostly:
1. Rename methods, classes, variables, and even packages.
2. Pulling methods up into a base class.
The second one is really helpful. The first one is very convenient.
 
Sheriff
Posts: 6037
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I've used JRefactory with JBuilder 5. The refactorings were the common ones (moving variables, and methods, etc), but then those are where you make the really dumb mistakes. :-) I liked it, and found it useful and easy to use. It's free (may even be open source).
--Mark
 
moose poop looks like football shaped elk poop. About the size of this tiny ad:
Java file APIs (DOC, XLS, PDF, and many more)
https://products.aspose.com/total/java
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!