About refactoring C++ program

Hi, Manually refactor C++ program is anonying and inefficient. Who can tell me some refactoring tool working on C++ code. I have searched google, but nothing valuable found:( Thx zlf

zlf wrote:
Hi, Manually refactor C++ program is anonying and inefficient. Who can tell me some refactoring tool working on C++ code. I have searched google, but nothing valuable found:(
Thx
zlf
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Hi. Maybe you need UML? You can get class daigram from C++ sources, change it and generate code again. I.e. Microsoft(r) Visio, Rational Rose UML etc.

I have been using SlickEdit (http://www.slickedit.com/) for years, and have been very happy with its lightweight, yet powerful development environment that is cross platform and supports many languages. A new feature is support for C++ refactoring. Admittedly I haven't tried it out yet (I've been coding more in Python since I got the new version), but here are the refactoring operations it supports: Extract method, Push down to derived class, Pull up to super class, Extract class, Extract super class, convert local field, convert global to static field, convert static method to instance method, encapsulate field, move static field, move method, replace literal with declared constant, create standard method. It is not free however; i think it costs around $200, and cheaper if you use it for academic purposes. Karl On 4/21/05, zlf <zlfcn@hotmail.com> wrote:
Hi, Manually refactor C++ program is anonying and inefficient. Who can tell me some refactoring tool working on C++ code. I have searched google, but nothing valuable found:(
Thx
zlf
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

On 4/21/05, zlf <zlfcn@hotmail.com> wrote:
Hi, Manually refactor C++ program is anonying and inefficient. Who can tell me some refactoring tool working on C++ code. I have searched google, but nothing valuable found:(
I have always considered refactoring to be a design decision -> its not something that can be automated. eg: the choice of whether a class member should be in each child class vs being in a parent class, should be a design choice. Likewise, the choice of aggregate vs inheritance is a design choice -> I couldn't ever see how a refactoring tool could help... regards, Mathew

I think the purpose of the tool is not to make the design decisions for you and do them automatically. Its purpose is, once you have decided that a refactoring is necessary, to make it as easy as possible, perhaps taking out the error prone grunt work of copying, pasting, and renaming. Karl On 4/21/05, Mathew Robertson <mathew.robertson@redsheriff.com> wrote:
On 4/21/05, zlf <zlfcn@hotmail.com> wrote:
Hi, Manually refactor C++ program is anonying and inefficient. Who can tell me some refactoring tool working on C++ code. I have searched google, but nothing valuable found:(
I have always considered refactoring to be a design decision -> its not something that can be automated.
eg: the choice of whether a class member should be in each child class vs being in a parent class, should be a design choice.
Likewise, the choice of aggregate vs inheritance is a design choice -> I couldn't ever see how a refactoring tool could help...
regards, Mathew
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

"zlf" <zlfcn@hotmail.com> writes:
Hi, Manually refactor C++ program is anonying and inefficient. Who can tell me some refactoring tool working on C++ code. I have searched google, but nothing valuable found:(
This is off-topic for the Boost list. Please take it elsewhere. -- Dave Abrahams Boost Consulting www.boost-consulting.com
participants (5)
-
David Abrahams
-
Karl Rosaen
-
Mathew Robertson
-
Vladislav Lazarenko
-
zlf