ClassLibrary

Con tutto il rispetto per tutti i programmatori, sottolineando che conosco le condizioni di produzione e che faccio parte di questa categoria, mi permetto di scrivere questo racconto per un piccolo sorriso. 

Buonasera,

siete seduti comodi? Bene! Siete davanti al Visual Studio e state per premere new ClassLibrary?

Siete proprio sicuri? E va bene, allora fatelo.

Quanto tempo avete a disposizione? Poco? Allora iniziate col chiamare il vostro lavoro "Insieme di classi" e non "Libreria". Se invece ne avete un po' di più allora ve lo permetto . Ma questo insieme di classi serve a voi per seguire un certo pattern o serve per distribuirlo a qualcun altro? Per gli altri? Allora cercate di prendere un bel respiro...

Che bellooo!!! Una nuova avventura... e ora? Vedete quel Class1 creato automaticamente? Vi serve? No? Allora cancellatelo, perchè lasciarlo lì a marcire?

Ora cominciate pure a scrivere del codice, a includere eventuali reference esterni. Perfetto.

Avete aggiunto qualche namespace del tipo System.Web.UI.WebControls? Si? State per caso sviluppando una libreria di controlli? No? Allora perchè lo avete fatto? Per poter utilizzare un controllo che verrà passato? Ma siete davvero sicuri che vi serve tutto il controllo? Non è che per caso vi basta una proprietà? Magari elaborandola e poi restituendola al mittente?

Bene... proseguite pure... perchè state includendo System.Configuration? Dovete impostare delle configurazioni sulla libreria? Non vorrete mica leggerle dall'esterno!!! Settings e parametri sui costruttori non vi sembrano una soluzione migliore?

State scrivendo qualche query? Avete pensato di configurare una connectionstring o qualche parametro in più per poter configurare il database di destinazione?

Avete cablato delle stringhe o dei messaggi di errore? Perchè? E se io volessi far diventare l'applicazione multilingua? Devo aprire la libreria con il Reflector e copiarmi i metodi relativi?

Ma quante belle classi avete scritto... ma non ci sono un po' troppi metodi uguali? Mai sentito parlare di ereditarietà? Provate a semplificare.

Avete finito? Di già? Mai sentito parlare del "virtual" per permettere a chi utilizza la vostra libreria di personalizzarla?

E infine... presente quelle righe verdi? Non sono inutili... perchè non commentate tutti i vostri metodi public e protected? Vi richiede troppo lavoro? Ma state consegnando qualcosa di completo, nei tempi giusti ma incompleto, che rallenterà comunque qualcun altro.

State compilando? Sicuri di non aver dimenticato ancora niente? Che ne dite di generare il file xml relativo ai commenti? Vi richiede 10 secondi del vostro tempo.

Ora, forse, avete prodotto qualcosa di accettabile, che se compilato in Release potrà essere utilizzato da qualcun altro. Una valutazione da FxCop vi richiede un altro minuto, perchè non darci un'occhiata?

 Applausi...

posted @ giovedì 7 maggio 2009 20.50

Print

Comments on this entry:

# re: ClassLibrary

Left by Ivan at 07/05/2009 22.48
Gravatar
eheheh bel post !

# re: ClassLibrary

Left by Nazareno at 08/05/2009 10.57
Gravatar
A proposito di refrence su class libary e in particorare per quanto riguarda quella relativa al DM il guru dei guru nonchè presidente mi ha suggerito. Solo "system"!! Il resto lo si fa in altre librerie a sencoda delle necessità.

Ottimo post!

# re: ClassLibrary

Left by Stefano at 13/05/2009 12.48
Gravatar
a proposito dei references e di conseguenza del numero di assembly che si avranno nel progetto - codebetter.com/.../...-through-net-assemblies.aspx

un saluto dalla NZ :)

Your comment:



 (will not be displayed)


 
 
 
Please add 5 and 4 and type the answer here:
 

Live Comment Preview:

 
«marzo»
domlunmarmergiovensab
28123456
78910111213
14151617181920
21222324252627
28293031123
45678910