Qual è l’importanza del refactoring del software?

"Il refactoring è il processo di cambiare un sistema software in modo tale da non alterare il comportamento esterno del codice, ma migliorarne la struttura interna. È un modo disciplinato di pulire il codice che minimizza le possibilità di introdurre bug. In sostanza quando si rifattorizza si sta migliorando il design del codice dopo che è stato scritto". - Martin Fowler (Padre del Code Smell).

Anche se il refactoring non aggiunge caratteristiche o funzionalità in un sistema software, è un'arma tagliente per gli sviluppatori nelle loro attività di manutenzione. Rende un sistema software più facile da capire e più economico da modificare senza cambiare il suo comportamento osservabile cambiando la sua struttura interna.

main-qimg-2a760e1e735007e5c378c67031ab5117

Gli scopi del refactoring secondo 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.