L'equivoco degli application block

di Daniele Bochicchio, in .NET Framework,

Ne parlavo io con Riccardo, che poi ha fatto un post sulla faccenda. Ho sempre ritenuto giusto che Microsoft facesse Starter Kit ed Application Block, perchè sono, per certi versi, un modo per mostrare agli sviluppatori quali sono le linee guida da seguire, le cose da fare e da non fare. Sono delle reference di vita vissuta, se vogliamo.

Così come in tutto, ci sono ottimi AB/SK, così come ce ne sono alcuni dal dubbio valore. Io stesso ho studiato in maniera approfondita il Community Starter Kit e credo che molti lavori dello stesso tipo ne siano influenzati, almeno per quanto riguarda l'architettura. Ma non ho mai usato in produzione, da nessuna parte, il CSK.

Il guaio di questi prodotti è che sono delle demo, alla fine, e che a differenza di progetti come dotNETNuke o qualsiasi altra cosa vi passi per la testa, non subiscono una modifica ed un aggiornamento nel tempo. Gli SK sono fermi da due anni e si trovano hack vari in giri per estenderne le funzionalità, ma tutti sappiamo cosa vuol dire avere un fork. Su ASPItalia.com utilizziamo la prima versione del forum ASP.NET. Peccato che anche questo progetto abbia risentito degli stessi problemi e che ora sia definitivamente morto (almeno, per quello che penso io). Alla fine c'è stato un lavoro di customizzazione così elevato che ormai di originale c'è rimasta solo la struttura. E quindi si è persa l'essenza (e lo scopo) dell'adoperare un prodotto già pronto. Ma d'altra parte quando c'è bisogno di funzionalità e queste non ci sono, non si può aspettare in eterno una nuova versione che non arriva.

Senza divagare troppo, c'è stato un equivoco dietro questo genere di pezzi di codice. Da riferimento, da linee guida, piano piano sono diventati le basi di molti progetti. Per carità, niente di male ad usare qualcosa del genere in un progettino fatto nel tempo libero, ma trovo davvero assurdo dover usare codice del genere in progetti che hanno una certa rilevanza. Il codice preconfezionato è come il salame. Bisogna provare quello fatto in casa che per accorgersi della differenza ;)

Il caso più frequente è quello del Data Access AB, che in realtà tra tutti è forse quello più aggiornato. Non ne ho mai avuto bisogno semplicemente perchè ho una mia classe, che ho chiamato dataAccess, che uso bene o male in tutti i progetti che faccio e che ho costruito secondo le mie necessità, con uso di Dispose dove serve (usando using), con le funzionalità che servono in una tipica applicazione web. Chiunque abbia fatto lo sviluppatore come lavoro per più di 10 mesi di sicuro avrà qualcosa del genere già pronto. Perchè non usarlo?

Ed allora arriviamo, purtroppo, ancora una volta al punto di partenza. Spesso si è troppo pigri per perdere 10 minuti a scrivere il codice e si preferisce usare qualcosa di già pronto, generico e per questo non ottimizzato. La scusa è che tanto funziona.

Non dovrei lamentarmi troppo, se ci penso, dato che in fin dei conti se state leggendo questo post è perchè probabilmente avete fatto cut&paste di qualcuno degli script su questo sito. Ma ragionare a voce alta, ogni tanto, fa bene :)

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese