AntonioGanci

Il blog di Antonio Ganci
posts - 201, comments - 420, trackbacks - 31

Scegliere il refactoring corretto. Valutare le alternative, i vantaggi e gli svantaggi

Dopo la provocazione di Luka non potevo esimermi da scrivere un post su questo argomento :-).

Quando ci troviamo di fronte a del codice da rifattorizzare sovente ci sono diversi refactoring che possiamo applicare e quindi dobbiamo fare una scelta sapendo che le varie alternative porteranno a soluzioni diverse, ognuna con vantaggi e svantaggi.

Da quale partire? Quale produrrà un miglioramento? Quale porterà complessità inutile?

Spero che tutti usiate uno strumento di controllo dei sorgenti in modo da provarne più di una e fare revert se la soluzione applicata non produce i risultati previsti; anzi ve lo consiglio come esercizio: fate un elenco di tutti i possibili refactoring che potreste applicare e valutate il risultato di ognuno di essi.

Ancora più importante: il refactoring deve avere un obiettivo che non sia il refactoring stesso. Ho visto, in alcuni posti dove ho lavorato, progetti chiamati refactoring! Una scusa degli sviluppatori per dire facciamo un po' cosa ci pare non rompeteci le scatole :-).

Voi paghereste un team di sviluppo per un mese il cui risultato è la stessa applicazione di prima rifattorizzata, magari con qualche bacarozzo latente in omaggio?

Ritorniamo sulla scelta del refactoring da applicare. Il refactoring deve semplificare l'aggiunta o la modifica di una feature.

Quindi come lista da azioni da compiere vedo:

  • Identificare in quali punti della codebase dovrò intervenire per aggiungere o modificare una feature
  • Valutare se il codice esistente lo permetta in maniera che ci sentiamo confidenti
  • Se la risposta al punto precedente è no, elencare quali possibili refactoring si possono applicare
  • Nel caso di dubbio su quale sarà il più efficace provare diverse alternative
  • Una volta applicato il refactoring corretto, effettuare le modifiche del caso (ovviamente tutto sotto test mi raccomando)

Print | posted on sabato 1 maggio 2010 14:09 |

Feedback

Gravatar

# re: Scegliere il refactoring corretto. Valutare le alternative, i vantaggi e gli svantaggi

Le mie:
- verificare i nomi di metodi, variabili, classi
- violazione di incapsulamento
- accoppiamenti non desiderati
- eliminare duplicazioni
- salti condizionali
04/05/2010 19:24 | Antonio Ganci
Gravatar

# Main Street Properties Property Management

I know your expertise on this. I must say we should have an online discussion on this. Writing only comments will close the discussion straight away! And will restrict the benefits from this information.
electric@zippiex.com
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET