Sto ancora ragionando sugli eventi, sulle parole e sulle
cose che sono successe al workshop dell'ugidotnet di giovedì scorso. L'occasione
stavolta viene dai discorsi che negli ultimi minuti di presenza, al termine
delle sessioni ho avuto la fortuna di poter ascoltare e ai quali ho con piacere
partecipato.
Un Raffaele che in punta di fioretto menava stoccate come solo lui sa fare,
ha detto una cosa, che se volete non ha nulla a che vedere con la
programmazione, e con l'informatica in senso più ampio. Citava il caso nel quale
scambiando le posizioni dei pulsanti di un utente medio, il giorno successivo
questo sbagliava ogni operazione che li prendesse in causa. Un caso questo che
mi riguarda da vicino ultimamente, dato che mi trovo in una situazione analoga,
ma quello che conta è che questa affermazione mi è rimasta in testa da quando
l'ho sentita e solo ora comincio ad assaporarne il recondito significato.
Tutto questo ha un nome: Pattern.
In ultima analisi, quello che fa un data enter, che usa mille e mille volte
una applicazione non è altro che costruirsi un pattern che poi si limita a
ripetere alla stregua di una macchinetta, ottenendo sempre una soluzione
migliore della volta precedente. Occorre pensarci bene. Sfido chiunque a non
aver mai apprezzato un pattern di questo tipo, magari pigiando la
medesima sequenza di tasti sulla tastiera e apprezzandone l'efficacia e
l'armonia nella digitazione ogni volta che la si ripete.
Ecco quindi spiegato in due parole il significato da manuale di pattern: una
soluzione conosciuta per un problema ricorrente.
Se ne possono trarre due conclusioni a mio parere. Innanzitutto che il
pattern è tanto più efficace, quanto più è sperimentato. In fin dei conti
l'esperienza nell'uso dei pattern porta a trovare sempre più soluzioni che vi
possano essere ritagliate e soprattutto a dare una applicazione migliore e più
efficace del pattern stesso. In secondo luogo, è l'esperienza che porta al
pattern e non viceversa. Il pattern nasce innanzitutto dal riconoscimento di un
problema ricorrente e poi della soluzione che gli si può dare. E come una
costruzione mentale, diventa quasi un automatismo, che permette di migliorare
l'eleganza e con essa l'efficacia del codice.
powered by IMHO