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 :)
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
- 15 anni di .NET: buon compleanno!, il 14 febbraio 2017 alle 10:32
- Che fine hanno fatto i colori in Visual Studio 2012?, il 14 settembre 2012 alle 15:13
- Visual Studio 2012 e .NET Framework 4.5 in pillole, il 22 agosto 2012 alle 09:30
- Silverlight, slsvcutil.exe ed una StackOverflowException, il 3 giugno 2010 alle 13:40
- Disinstallare la beta 2 prima di installare la RC di VS 2010, il 9 febbraio 2010 alle 16:49
- Tutti pazzi per il .NET Micro Framework, il 19 gennaio 2010 alle 14:00