I noted in my previous post http://bit.ly/c4CXhb that we should design first, then we code and then optimize. In the real World, we will find out that design, rather than occurring all up front, occurs continuously during the software development process. The integrity and structures of the system base on that design, will gradually fades as the code continuously gets modified. Now that's the time where refactoring comes to the rescue.
"Bug fixing, code refactoring is just one of my task on my work as a Software Engineer"
Refactoring is simply a way of improving the design of an existing code in software system and considering that improvements will still be backward compatible. You can take bad design into a well-designed code with refactoring .",)
Thank you and happy reading.
Follow me on Twitter http://twitter.com/gts5233w