Refactoring

tecnica che consente di modificare del codice lasciando il suo comportamento invariato
Versione del 15 gen 2013 alle 11:06 di Moongateclimber (discussione | contributi) (miglioramento generale. Il refactoring non si applica a "programmi" ma a moduli sw qualsiasi, Gli editor di testo per definizione non hanno refactoring.)

Il refactoring o rifattorizzazione è un termine usato nel campo dell'ingegneria del software per indicare il processo di modifica della struttura interna di un programma per computer eseguito senza modificarne il comportamento funzionale esterno o le funzionalità esistenti. Tipicamente, il refactoring viene applicato al fine di migliorare le proprietà non funzionali del software, quali la leggibilità e la struttura del codice, la sua aderenza al paradigma di programmazione, il suo grado di manutenibilità, la sua estensibilità, le prestazioni, e così via.

In ingegneria del software, il refactoring (o code refactoring) è una "tecnica strutturata per modificare la struttura interna di porzioni di codice senza modificarne il comportamento esterno",[1] applicata per migliorare alcune caratteristiche non funzionali del software. I vantaggi che il refactoring persegue riguardano in genere un miglioramento della leggibilità della manutenibilità, della riusabilità e dell'estensibilità del codice e la riduzione della sua complessità. Nella forma proposta originariamente da Martin Fowler, che è uno degli autori più influenti sull'argomento, il refactoring viene eseguito attraverso una serie di micro-passi, ciascuno dei quali consiste di una modifica molto limitata (e quindi che comporta un basso rischio di introdurre errori), ma che combinati fra loro possono portare a ristrutturazioni significative del codice.

Il refactoring è spesso associato all'uso di tecniche di test automatici sul codice, applicati a valle di ciascuna micro-modifica per verificare che le funzioni del codice siano state correttamente preservate. Inoltre, il refactoring viene spesso eseguito con l'ausilio di strumenti automatici, che consentono al programmatore di attivare interattivamente ciascuna modifica, portata a termine in modo automatico dell'ambiente di sviluppo.

Software per il refactoring

Molti IDE forniscono supporto al refactoring del codice. Funzioni di refactoring sono incluse per esempio nei seguenti IDE:

Note

  1. ^ [Martin Fowler in http://refactoring.com]

Voci correlate