AntonioGanci

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

I tool di refactoring incentivano cattive abitudini?

Sono un felice utilizzatore di Resharper ed in passato ho sviluppato per circa un anno con Eclipse entrambi prodotti molto evoluti che mettono a disposizione una marea di aiuti nella scrittura del codice.

Questo porterebbe portare a pensare che il collo di bottiglia di uno sviluppatore software sia la scrittura del codice, perchè altrimenti non si spiegherebbe la diffusione di questi strumenti.

Purtroppo è l'esatto contrario. All'inizio di nuovo progetto quando non esiste ancora neanche una classe è facilissimo creare debito tecnico, inoltre è facilissimo prendere decisioni che allunghino di parecchio il tempo di sviluppo e rendano l'architettura rigida.

Perchè dico tutto questo?

Perchè all'inizio del progetto si tende a buttare giù la prima cosa che viene in mente. Inoltre con gli strumenti che ho citato prima si possono creare decine di righe di codice in un attimo e costa relativamente poca fatica.

Questo porta ad un sostanziale impigrimento. Facciamo un esempio: il solito gestionale e supponiamo che la feature da cui partiamo sia la creazione di una fattura. Qual è la prima classe che scriviamo? Fattura?

Sembra una buona idea a prima vista, la cosa più logica. In realtà stiamo molto probabilmente creando un God object.

Quante volte non abbiamo tolto una ripetizione ad esempio, nella creazione di un oggetto, perchè tanto poi ci pensa Resharper? Se dobbiamo aggiungere un nuovo parametro ad un costruttore basta un bel Change signature ed in un attimo tutta la codebase è aggiornata.

Se invece queste operazioni si dovessero fare a mano costerebbero fatica e ci costringerebbero ad essere più cauti nell'introdurre duplicazioni.

Voi mi direte il problema è la pigrizia del programmatore! Non il tool in sé. Vero, ma se quando arrivo a casa ho l'ascensore e posso non fare le scale quante volte scelgo l'ascensore? Ed in metropolitana perchè c'è la coda alla scala mobile per una sola rampa di scale?

Print | posted on venerdì 14 maggio 2010 12:08 |

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET