Nikolai Tillmann: Moles - Replace any .NET method with a delegate

Francesco Logozzo, ricercatore nel gruppo di ingegneria del software (RiSE) a Microsoft Research, offre una breve introduzione alla programmazione per contratti ed al progetto CodeContracts per .NET .
I CodeContracts permettono di specificare il comportamento del codice utilizzando il codice stesso.
Francesco ci spieghera’ (alla lavagna e con un demo di ispirazione ciclistica) come migliorare la qualita’ del codice e rendere il debugging piu’ efficace usando la libreria dei Contratti (inclusa in mscorlib 4.0) ed il runtime checker .
I CodeContracts possono essere scaricati con licenza industriale o accademica:
Il gruppo RiSE coordina la ricerca in ingegneria del software a Redmond negli USA.
The Research in Software Engineering team (RiSE) coordinates Microsoft's research in Software Engineering in Redmond, USA.
interessante, pero' vedere il debugger che salta dentro e fuori dalle funzione senza + un ordine preciso di esecuzione un po mi spaventa...
Grazie.
In realta' l'ordine di valutazione e' ben preciso. Prima vengono valutate le precondizioni, poi il corpo del metodo, e quindi le postcondizioni. Quando fai l'override di un metodo, erediti anche la sua precondizione, che viene valutata prima dell'esecuzione del corpo del nuovo metodo, e la sua postcondizione, che viene valutata dopo. Il debugger ti permette di seguire la traccia d'esecuzione, e di vedere quale contratto e' violato. Nel mio esempio mi ha subito permesso di scoprire che la sottoclasse non si comporta "bene".
Ciao,
f
Si, capisco che l'ordine logico e' preciso, ma l'ordine di esecuzione nn rispetta + l'ordine di scrittura come siamo stati abituati fino ad oggi.
Ad ogni modo, bel lavoro