What is Refactoring?

Refactoring is the process of changing a software system in such a way so that it does not alter the external behavior of  the code and improves the internal structure in a efficient way. It is a way of clean up code and improve the design of code after writting the code. It minimizes the chance of introducing bugs.

Techniques of  Refactoring:

  • Composing Methods.
  • Moving features between objects.
  • Organizing data.
  • Simplifying conditional expressions.
  • Making method calls simpler.
  • Dealing with generalization.
Refactoring Improving the Design of Existing Code (by… Martin Fowler,William Opdyke).