Da ormai 2 anni lavoro, a tempo perso e su esigenze che mi capitano di progetto in progetto, ad una serie di librerie che hanno l'obiettivo di affrontare i classici problemi ricorrenti e di essere il più possibile riusabili. Svariano dall'ORM (ai tempi NHibernate non c'era...) alla gestione di macchine a stati finiti, da Front Controller per il web alla reportistica verso PDF ed Excel, ed altro ancora. Relativamente alla reportistica in particolare ho fatto un lavoro probabilmente utile anche ad altri, e che sto pensando di pubblicare da qualche parte. Per farla breve, mi proponevo di costruire non la classica libreria per fare PDF o similari come se ne trovano tante, fatta per sviluppatori e con un bel modello ad oggetti da programmare, ma qualcosa di pilotabile attraverso file xml di trasformazione dei dati, con tanto di navigazione di strutture dati gerarchiche, uno schema di definizione delle trasformazioni consistente rispetto ai vari tipi di output (ad oggi gestisco PDF, Excel e file di testo), valutazione "al volo" di espressioni C#, punti di estendibilità eccetera. Carina, credo, funzionicchia anche ed in giro di "free" credo non se ne trovino molte, ma...
Ecco che stasera, preso dalla voglia di approfondire il discorso della sua distribuibilità, ho provato a verificare quanto la libreria fosse svincolata da altre dipendenze e quindi pubblicabile velocemente, ma ecco che scopro che in 2 anni di lavoro, e nonostante ci abbia messo parecchia attenzione e un bel po' di interfacce, alcune dipendenze "indesiderate" si sono malignamente annidate :o) Morale: sembra facile dire "adesso faccio una bella libreria riusabile", ma tra il dire ed il fare...
Peccato, per ora, ma mi riprometto di fare appena riesco un bel refactoring e di sistemarla, poi la pubblicherò e vedremo se piace :o)