Francesco Logozzo: Programmazione per Contratti e runtime checking in .NET con i CodeContracts
- Posted: Feb 05, 2010 at 4:09 PM
- 4,588 Views
- 3 Comments
Download
How do I download the videos?
- To download, right click the file type you would like and pick “Save target as…” or “Save link as…”
Why should I download videos from Channel9?
- It's an easy way to save the videos you like locally.
- You can save the videos in order to watch them offline.
- If all you want is to hear the audio, you can download the MP3!
Which version should I choose?
- If you want to view the video on your PC, Xbox or Media Center, download the High Quality WMV file (this is the highest quality version we have available).
- If you'd like a lower bitrate version, to reduce the download time or cost, then choose the Medium Quality WMV file.
- If you have a Zune, WP7, iPhone, iPad, or iPod device, choose the low or medium MP4 file.
- If you just want to hear the audio of the video, choose the MP3 file.
Right click “Save as…”
- High Quality WMV (PC, Xbox, MCE)
- MP3 (Audio only)
- MP4 (iPod, Zune HD)
- Mid Quality WMV (Lo-band, Mobile)
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.
Comments Closed
Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation,
please create a new thread in our Forums,
or
Contact Us and let us know.
Follow the Discussion
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
Remove this comment
Remove this thread
close