I just went through an intense refactoring session for
EJBGen. There is more to come, but I
have basically turned around the entire implementation in prevision of incoming
features and new integrations. The interesting thing about this is:
users will never notice.
Some users are already using the improved version but of course, they have no
idea how much it is different from the previous drop. To them, it’s the
same tool as the previous version, hopefully without any regression introduced.
There is something strangely satisfying about this but it’s not about the
intensity of the session, nor about the size of the changes. Sure, adding
features that users are eagerly expecting is also a fulfilling experience, but
not as much as rewriting a complex piece of software from the ground up all the
while knowing that you are covered by your regression tests.
Am I the only one feeling like this?
#1 by eu on December 20, 2003 - 10:16 pm
Don’t you think that it would be better to merge EJBgen with the XDoclet, so users can take an advantage from shared expertise?
#2 by Lasse Koskela on December 21, 2003 - 6:58 am
I know the feeling. Furthermore, the feeling is even more strong when you encounter a new piece of information that completely changes the XML messaging interface you had already implemented 🙂
#3 by Slava Imeshev on January 14, 2004 - 2:55 pm
Cedric,
It doesn’t look like refactoring. “Refactoring is a technique to restructure code in a disciplined way.” (c) Fowler. As such, it’s a permanent, ongoing process. To me “intense” refactoring that happens to an application once in a while is not refactoring but a rewrite [employing refactoring techniques]. Just my 2c.