June 24, 2009

Unit Test e App.Config

Lavorando con applicazione legacy (o meglio vintage) dove il refactoring è quasi impossibile spesso ci si trova a dover scrivere degli unit test di parti dell’applicatico che utilizzano app.config direttamente. Ed è quindi difficile se non impossibile impostare  valori specifici per il test.

L’ideale per il test sarebbe la possibilità di specificare un app.config apposito per quello specifico unit test. E’ possibile speficiare un app settings per l’appdomain specifico utilizzando

AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", path);

ma per specifiche di design di .NET l’appsettings non viene ricaricato, ed è quindi necessario forzare l’inializzazione impostanto a null l’ initState del ConfigurationManager.

typeof(ConfigurationManager).GetField("s_initState", BindingFlags.NonPublic | BindingFlags.Static).SetValue(null, 0);

Il codice necessario si trova in questo thread su stackoverflow.com:

http://stackoverflow.com/questions/949696/reload-app-config-with-nunit

Infine, per rendere indipendete dall’ambiente gli unit test è consigliabile utilizzare DeploymentItem() per la copia del app.config necessario al test

July 16, 2008

How I got Started in Software Development

Chiamato in causa da Simone eccomi a rispondere.

A quale età hai cominciato a programmare?

Direi a 19 anni, corso d’Informatica I al Politecnico di Milano. Ovviamente il glorioso Modula-2 ((Incredibile come sia ampiamente utilizzato.. )) per il primo progetto: un gestionale per il noleggio di auto e moto (mi rocordo ancora il diagramma dei moduli, il tempo passato a fare debug con printf e le liti con il compilatore.. )

Come hai cominciato a programmare?

Consegna del progetto d’Informatica I. Poi durante l’estate ho iniziato a giocare con il linguaggio emergente del periodo: php4.  Ho così sviluppato un applicativo per la gestione della propria squadra del fantacalcio: dalla crazione della squadra all’invio dell’email. Poi nell’inverno ho iniziato lo sviluppo di adams un framework in php4 per lo sviluppo di siti. Per alcuni anni è stato il CMS di milug.org ed era ospitato su sourceforge ((oramai è dismesso .. :( ))

Qual’è stato il tuo primo linguaggio di programmazione?

Modula-2: moduli e moduli e moduli! ;) insomma fin da subito divide et impera, che se non lo impari fin da subito sei finito …

Qual’è stato il primo programma vero che hai scritto?

Per vero direi che è stato il gestione di PIM: puliamo il mondo. Web Application ((all’epoca non si usava dire così..))  per legambiente che si occupava ((o si occupa ancora???)) della gestione della campagna annuale attuata dall’associazione. Correva l’anno 2002, lavoro al tempo dell’università per pagarsi le vacane estive: meta Copenaghen. Era in php4 con l’utilizzo del framework adams e postgresql.

Quali linguaggi hai usato da quando hai cominciato a programmare?

Un po, ma non sono mai abbastanza. Più o meno in ordine: Modula-2, Php, Ansi C, C++, Java, Bash, Python, Perl, C# .. nella speranza presto d’imparare Ocaml, F#, boo, Ruby

Quando è stato il tuo primo vero lavoro da programmatore?

Perchè si lavora a fare il programmatore? A parte i progetti spot nel periodo universitario e la tesi finale il primo lavoro è stato quello presso Siemens per lo sviluppo di applicazioni per il test dei vari apparati. Chiudo qua per non far diventare la risposta una puntata di Zelig ((Unica nota positiva alcuni colleghi ..)).

Con il senno di poi, rifaresti lo stesso il programmatore? Ricominceresti a programmare?

Tutto sommato si. Perchè mi piace progettare, costruire, disfare e ricostruire. Da giovane ho studiato da geometra ma l’incontro con un pc è stato fatale .. e come dice Linus Trovalds

“Software is like sex: it’s better when it’s free.” ((altre citazioni carine ..))

Ci sono altri interessi nella vita ma tuttosommato non mi posso lamentare ..

Se ci fosse una cosa che hai imparato nella tua carriera e che vorresti dire ai giovani programmatori, cosa diresti?

RTFM: Read The Fucking Manual. Sempre, in ogni caso, in ogni momento, per qualsiasi cosa. Nel mondo dell’IT,e in parecchi altri campi, c’è sempre da studiare ed è quindi importante essere coscienti che in ogni momento è utilite utilzzare i manuali, e come direbbe un altro grande Don’t Panic.

Qual’è la cosa più divertente che hai programmato?

bè un po tutti … fin quando è progettazione/sviluppo è sempre divertente .. poi arriva il momento dei bugfix .. :(

Adesso è l’ora di taggare qualcun’altro…

May 16, 2008

Yet another blog meme

Simone mi ha rigirato questo meme

1. Indicare, spiegando il perché, di quale personaggio letterario vi innamorereste.
2. Indicare, analogamente di quale personaggio cinematografico vi innamorereste. Occhio: non l’attore o l’attrice, ma il personaggio!
3. Nominare sei blogger, preferibilmente tre uomini e tre donne, linkando i blog e segnalando loro la nomination con preghiera di indicare chi li ha nominati

Dopo una notte di meditazione:

1. Fermina Daza, la più bella ragazza dei Caraibi, che in L’amore ai tempo del colera è amata e desiderata da Florentino Ariza per tutta la sua vita e conquistata elegantemente nella vecchiaia. Interessante sarebbe anche Tricia McMillan in Guida galattica per gli autostoppisti ragazza che abbandona tutto per viaggiare nello spazio …

2. Direi Mia Wallace (Uma Thurman) in Pulp Fiction: come non amare una donna così?

3.Riduco il numero a due: remuz e margotta