««« | »»»
Una questione di ritmo
Quando si ha a che fare con un’applicazione già in produzione, soprattutto su web, diventa importante trovare il modo più efficace per raggiungere i risultati desiderati.
Ad esempio, nel progetto a cui sto lavorando, dopo aver deciso alcuni obiettivi a medio termine, ho dovuto pianificare la strada per arrivarci. Anzi, ho dovuto rinunciare a partire subito nella dismissione di Joomla per concentrarmi su sull’estrazione di tutti gli statement SQL sparpagliati ovunque.
Senza questo lavoro preparatorio, che è in corso (insieme a tutto il resto, ovviamente), rimuovere Joomla sarebbe stato semplicemente troppo rischioso.
Oltre a quello, però, c’è anche la necessità di riuscire ad avvicinarsi all’obiettivo un passo alla volta. Perché il problema non è solo quello di minimizzare i rischi ma anche di adeguare il ritmo dei cambiamenti alle esigenze del progetto.
A piccoli passi
Il motivo fondamentale è che quando stiamo riscrivendo una porzione di codice siamo, per così dire, vulnerabili: se arriva una segnalazione di un qualche malfunzionamento, in un modo o nell’altro, dobbiamo mettere da parte quello che stiamo facendo e dare un’occhiata al problema.
Più il refactoring che stavamo facendo è ampio, più è probabile che il sorgente che stiamo modificando possa essere coinvolto nelle altre modifiche la segnalazione ci potrà richiedere. Può capitare, certo, ma è sempre una buona cosa evitarlo, quando possibile: meno stress, meno incertezze.
Per non rimanere a metà del guado
Sto imparando quindi a “frammentare” i refactoring in modo che non portino via più di un paio d’ore al massimo. Si tratta di tempi biblici rispetto a quelli descritti nella letteratura XP, lo so, ma bisogna anche tener conto del fatto che in questo progetto si tratta di interventi su un codice estremamente destrutturato.
I risultati cominciano a vedersi. Fra qualche tempo, sarà divertente andare a confrontare il codice dell’inizio con quello che verrà fuori da tutto questa trafila.
Per proseguire
Commenti e trackback sono disabilitati.