Legacy code

Posted on


Un articol care l-am publicat pe  TSM.

Ciclul de viaţă al produselor software este generat de nevoile de business ale consumatorilor. În sprijinul acestora vin producătorii de software cu soluţii specifice, proporţionale cu nivelul lor de pregătire şi cu tehnologiile disponibile pe piaţă. Evoluţia tehnologică foarte rapidă determină formarea unei rate de depreciere a produselor, astfel că un produs software se poate devaloriza în raport cu tehnologiile folosite. Chiar dacă funcţionalitatea business este conformă cu cerinţele consumatorilor, tehnologiile pot să nu mai reflecte exigenţele cotidiene. Calitatea unui produs software nu este reflectată doar de acurateţea cu care răspunde fluxului de date stabilit de business, ci şi de alţi factori calitativi definiţi de spectrul tehnologic existent pe piaţă la momentul evaluării. Mentenanţa unui produs, integrarea de noi funcţionalităţi furnizează o gamă de parametri adiţionali care contribuie la definirea ratei calitative, factori care sunt abstracţi din perspectiva utilizatorilor finali.

Nevoia creării unui cod robust – “building on green”

Cu aproape 20 de ani în urmă, J. B. (Joe) Rainsberger, un important promotor al programării orientate pe teste (Test Driven Development), relata un episod din perioada în care lucra ca dezvoltator la IBM. În preajma unui important milestone a început să întâmpine dificultăţi considerabile în finalizarea setului de funcţionalităţi ale proiectului la care lucra. Fiecare opţiune nou creată afecta alte funcţionalităţi deja existente. Arhitectura proiectului era atât de interactivă încât era foarte dificil să dezvolţi un nou atribut fără să modifici peisajul global. Din păcate, doar testarea manuală regresivă avea capacitatea de a scoate în evidenţă erorile apărute, ceea ce era complet inoportun şi lipsit de randament în acea situaţie.

read more

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s