¿Cuál es la importancia de la refactorización del software?

"La refactorización es el proceso de cambiar un sistema de software de tal manera que no altere el comportamiento externo del código, pero que mejore su estructura interna. Es una forma disciplinada de limpiar el código que minimiza las posibilidades de introducir errores. En esencia, cuando refactorizas estás mejorando el diseño del código después de haberlo escrito". - Martin Fowler (padre del olor a código).

Aunque la refactorización no añade características o funcionalidades en un sistema de software, es un arma afilada para los desarrolladores en sus actividades de mantenimiento. Hace que un sistema de software sea más fácil de entender y más barato de modificar sin cambiar su comportamiento observable al cambiar su estructura interna.

main-qimg-2a760e1e735007e5c378c67031ab5117

Los propósitos de la refactorización según M. Fowler are stated in the following:

  1. Refactoring Improves the Design of Software
  2. Refactoring Makes Software Easier to Understand and Maintain
  3. Refactoring Helps Finding Bugs
  4. Refactoring Helps Programming Faster
  5. Increased re-usability

You will find an example of refactoring in this link:
What is meant by code refactoring? Explain with example.