Spesso mi sorprendo, mentre parlo di programmazione con altri, nel constatare che forse la programmazione ad oggetti non sia proprio indicata!!!! I perchè?
Ora ve lo spiego... Innanzitutto una premessa, la mia era ovviamente una provocazione dovuta ad uno scambio di battute con il mio capoprogetto!!!!
Dopo aver visto la sessione di Saltarello e di Mauro Servienti, notavo come, seppur in parte, il progetto dell'ufficio a cui partecipo rispecchiasse in parte le caratteristiche di applicazione strutturata, modulare, e open (non totalmente... purtroppo). All'inizio di questo progetto mi ricordo che mi battei proprio per far si che questo progetto fosse modulare, seguendo peraltro un three tier (anche se non utilizziamo la DAL) con componente che si possono rimuovere senza dover ricompilare, con soluzioni differenti per ogni modulo. Certo, non abbiamo diviso proprio il tutto in modo accademico... Però il risultato c'è....
Insomma per tirar corto, alla fine della giornata parlando con il capo progetto, quest'ultimo mi disse : "si, bellino la soluzione open o l'architettura layered, però secondo me lasciare troppo aperto può creare problemi." A questa affermazione risposi che anche il nostro progetto seguiva in parte quanto detto e la risposta fu "Infatti, vedi che se cambiamo qualcosa alla base del programma, poi si ripercuote sul resto." Ovviamente dico io, certo è che è difficile spiegare come programmare a chi non ha background informatico, e se all'interno del team ci sono persone che non sono proprio programmatori, il tutto diventa molto difficile. Come posso spiegare la specializzazione delle classi e la specializzazione dei metodi, a chi non interessa altro che il programma sia fatto senza preoccuparsi poi se, la parte del codice che s'è andato a scrivere è un "taccone" di un altro "taccone" e via discorrendo? Ovvio inoltre che, se poi chi sviluppa fa solo copia e incolla di altre classi, il problema da piccolo diventa gigantesco.
Scusatemi lo sfogo, amici miei, è solo che l'affermazione del mio capo era centrata proprio perchè fui io a spingere ad uno sviluppo modulare, cosa che ci permette peraltro di creare moduli a se stanti, e di dare l'opportunità ad altri di sviluppare dei loro moduli....
Scusatemi ancora dello sfogo, ma avevo bisogno di sapere, secondo voi, cosa ne pensate a proposito.
Grazie