Non finirò mai di stupirmi di quanto aiuti lavorare seguendo i
pattern. Stamane ne ho avuto l'ennesima prova, se mai fosse servita, anche se
assieme ad essa è venuta anche la riprova che nell'applicare queste tecniche
occorre anche una buona dose di coscienza. Quello che mi spinge a questo
ragionamento è la soluzione che assieme ad Andrea Dottor nel pomeriggio siamo
arrivati ad applicare per risolvere un problema che a prima vista appariva molto
arduo.
Mi spiego meglio. Nel prodotto che sto sviluppando con il mio
team ho personalmente realizzato l'engine di costruzione delle pagine che ha il
suo fulcro in un pattern composite. Nulla di nuovo per la verità, se
consideriamo che lo stesso ASP.NET basa il suo funzionamento su di esso, anche
se la mia applicazione è più orientata all'utente finale che al
programmatore.
Comunque, dettagli a parte, quest'oggi stavamo per sacrificare
il pattern Composite ad una soluzione un po' più immediata ma molto meno
efficace, senza nemmeno renderce conto. Poi, per fortuna ci siamo riportati
sulla retta via quando la coscienza di quello che stavamo facendo ha fatto
capolino grazie ad una scomposizione del problema nei minimi dettagli.
Inutile che vi stia a spiegare la soluzione, anche perchè non è
questo lo scopo del post, ma piuttoso lasciatemi porre l'accento sui tempi di
sviluppo. Per il lavoro che Andrea doveva realizzare erano previste 24 ore di
attività, che oggi dopo questo breve brainstorming stimiamo siano ridotte di
almeno la metà. Inoltre questa soluzione porta ad aggiungere una
caratteristica molto importante non solo al componente cui stiamo lavorando, ma
anche a tutti quelli che già esistono. Considerata la sete di tempo
che mediamente affligge il nostro lavoro mi pare un bel risultato, ma se poi
pensate che tipicamente si pensa che a lavorare bene si consumi più
tempo del dovuto allora la cosa prende una piega molto più
interessante.