Mondi su mondi, sistemi di sistemi.

Una questione di ritmo

Quando si ha a che fare con un’applicazione già in pro­du­zione, soprat­tutto su web, diventa impor­tante tro­vare il modo più effi­cace per rag­giun­gere i risul­tati desiderati.

Ad esem­pio, nel pro­getto a cui sto lavo­rando, dopo aver deciso alcuni obiet­tivi a medio ter­mine, ho dovuto pia­ni­fi­care la strada per arri­varci. Anzi, ho dovuto rinun­ciare a par­tire subito nella dismis­sione di Joomla per con­cen­trarmi su sull’estrazione di tutti gli sta­te­ment SQL spar­pa­gliati ovunque.

Senza que­sto lavoro pre­pa­ra­to­rio, che è in corso (insieme a tutto il resto, ovvia­mente), rimuo­vere Joomla sarebbe stato sem­pli­ce­mente troppo rischioso.

Oltre a quello, però, c’è anche la neces­sità di riu­scire ad avvi­ci­narsi all’obiettivo un passo alla volta. Perché il pro­blema non è solo quello di mini­miz­zare i rischi ma anche di ade­guare il ritmo dei cam­bia­menti alle esi­genze del progetto.

A pic­coli passi

Il motivo fon­da­men­tale è che quando stiamo riscri­vendo una por­zione di codice siamo, per così dire, vul­ne­ra­bili: se arriva una segna­la­zione di un qual­che mal­fun­zio­na­mento, in un modo o nell’altro, dob­biamo met­tere da parte quello che stiamo facendo e dare un’occhiata al problema.

Più il refac­to­ring che sta­vamo facendo è ampio, più è pro­ba­bile che il sor­gente che stiamo modi­fi­cando possa essere coin­volto nelle altre modi­fi­che la segna­la­zione ci potrà richie­dere. Può capi­tare, certo, ma è sem­pre una buona cosa evi­tarlo, quando pos­si­bile: meno stress, meno incertezze.

Per non rima­nere a metà del guado

Sto impa­rando quindi a “fram­men­tare” i refac­to­ring in modo che non por­tino via più di un paio d’ore al mas­simo. Si tratta di tempi biblici rispetto a quelli descritti nella let­te­ra­tura XP, lo so, ma biso­gna anche tener conto del fatto che in que­sto pro­getto si tratta di inter­venti su un codice estre­ma­mente destrutturato.

I risul­tati comin­ciano a vedersi. Fra qual­che tempo, sarà diver­tente andare a con­fron­tare il codice dell’inizio con quello che verrà fuori da tutto que­sta trafila.

Per proseguire

Commenti e trackback sono disabilitati.