Advantages of Refactoring

According to Fowler, refactoring provides four key advantages:

  • Refactoring improves the design of software –Without refactoring,the design of the program decays over time. When new things are added into the code, developers often do not have full knowledge of the original intended design which often leads to duplicate code

  • Refactoring makes software easier to understand – When developerwants to refactor certain part of code he firstly needs to have knowledge about what the code is doing and then he can change it which even further raises his level of understanding the code.

  • Refactoring helps you find defects – When developer refactors certain part of the codebase, he is gaining deep knowledge about it which in return enables him to see possible defects.

  • Refactoring helps you program faster – Poor design of the software often slows developers down because they spent lots of time trying to understand code itself and fixing defects. The benefits of refactoring is that it helps developers create software more rapidly, because it stops the design of the system form decaying.