lunedì 16 febbraio 2015

Code re-abuse

Il titolo è preso di qui

Il riutilizzo del codice non è una cosa sbagliata di per sé, purché venga fatto sotto certe condizioni. La prima della quale è che si usano i metodi degli oggetti e non si fa copia_e_incolla. In questo modo si centralizzano le funzioni delle quali si ha più bisogno, si facilità la manutenzione (la correzione di un bug si propaga immediatamente) nonché la riusabilità e la manutenibilità (se uso nomi significativi ho alte probabilità di trovare il punto di codice che fa quello che sto cercando). Il secondo caso invece propaga bug e rende dificile/impossibile manutenere il codice perché ci sono n punti da correggere (dove n è il numero di volte che questa funzione viene usata, e quindi più è usata più casino diventa).

ovviamente se devo creare un progetto ex-novo non posso usare gli oggetti dell'altro progetto a meno di non linkarlo come dipendenza (oppure di usarlo come libreria). Cosa che sconsiglio caldamente in quanto di solito l'altro progetto fa tutt'altro. Quindi o si crea una libreria (.jar) con le funzionalità che servono, e si mantiene aggiornata quella, oppure si prendono le classi che ci servono e si reimportano nel progetto nuovo.

La prima soluzione è applicabile se le classi fanno tutto quello che ci serve e solo quello. Ma se devono fare anche altro o cose diverse, quesa soluzione non è immediatamente applicabile.

Sorvoliamo sul fatto che il progetto sl quale sto lavorando è scritto abbondantemente alla ca%%@ in quanto il sedicente programmatore deve aver letto questo, inoltre si è pure impegnato per fare peggio, ma se inizio ad elencare tutto quello che è stato fatto di sbagliato non ne usciamo piu'.

Comunque sia cos'ha fatto il nostro? Ha preso tutte le classi del progetto vecchio (si TUTTE!!!) e le ha infilate nel progetto nuovo (anche quelle che non servivano a niente). Poi ha riutilizzato gli oggetti senza cambiarne il nome quindi ti ritrovi ad avere classi e metodi con nomi assolutamente non significativi...Riuso del codice o riabuso del codice?

Nessun commento:

Posta un commento

I messaggi non appaiono subito ma a seguito dell'approvazione di un moderatore. Siete pregati di seguire le seguenti regole