Il
libro
Un corso di progettazione agile che sottolinea limportante
aspetto dellesperienza, elemento sottostimato in informatica,
dove l'ultima tecnologia sembra sempre quella che fa più
tendenza.
Partendo
da elementi molto pratici, come i design pattern, i metodi
di refactoring e il test di unità, questo libro tocca
laspetto dellesperienza, considerato dallautore
il bagaglio essenziale di uno sviluppatore.
Per proporre un buon design è senzaltro necessario
avere esperienza, del resto i design pattern nascono dallesperienza
e sono un modo per sfruttare quella acquisita in progetti
passati, addirittura in progetti di altri.
Lesperienza è ciò che ci porta a dire
che un programma, con la sua architettura, è in continua
evoluzione. È con lesperienza che dobbiamo
gestire questa evoluzione, applicando refactoring, e rivedendo
in modo continuo il design.
Il
libro, con esempi pratici, costruiti e discussi in modo
incrementale, cerca di mettere in relazione i tre aspetti,
a volte, a torto, considerati contradditori. Mostra come
i pattern non devono necessariamente far parte del primo
design e spiega come un approccio più adattivo alla
programmazione permetta di considerare i nuovi requisiti
come una naturale evoluzione dellarchitettura.
Chi
ritiene la programmazione una pura fase di manovalanza
allinterno di un progetto, è portato a ricredersi.
Lutilizzo sistematico di pattern e levoluzione
ciclica del design attraverso refactoring riportano lo sviluppatore,
con la sua personalità ed esperienza al centro del
progetto. Sviluppo non significa solo scrivere codice. Sviluppo
significa prendere decisioni concernenti il design. Lattività
di sviluppo è qualcosa di creativo che richiede nel
contempo grande disciplina. È unattività
di grande responsabilità che permette di progettare,
creare, controllare e fare evolvere larchitettura
e la funzionalità del progetto.
Lautore
Sandro Pedrazzini, ingegnere informatico al Politecnico
di Zurigo e dottore in scienze naturali allUniversità
di Basilea, dal 1989 suddivide il suo tempo tra sviluppo,
insegnamento e ricerca, indirizzata durante i primi anni
soprattutto nel campo della linguistica computazionale.
Dalla metà degli anni Novanta insegna linguaggi,
programmazione a oggetti e progettazione software presso
la SUPSI (Scuola Universitaria Professionale della Svizzera
Italiana), dove è professore. Nel 1999 ha inoltre
cofondato Canoo, azienda di sviluppo e consulenza, per la
quale lavora tuttora come ingegnere del software.
|