Passa ai contenuti principali

Post

Visualizzazione dei post con l'etichetta Code Contracts

Rilasciata una nuova versione dei Code Contracts

Il 2 giugno è stata rilasciata la versione 1.4.40602.0 dei Code Contracts. Potete scaricare i due pacchetti di installazione dal sito ufficiale ( link ). Nel sito trovate anche l’extension per Visual Studio (accessibile anche attraverso Extension Manager) che permette di visualizzare nell’ambiente di sviluppo il tooltip con gli eventuali contratti definiti. Le novità di questa versione sono relative ad ottimizzazioni e poco più in particolare riguerdanti lo Static Checker.   Tag di Technorati: code contracts , rise

Definire i contratti su interfacce generiche in VB.NET

Uno dei grandi vantaggi dei code contracts di Microsoft (vedere gli articoli sul sito www.domusdotnet.org per maggiori info) è quello di poter definire i contratti anche sulle interfacce. Ad esempio le precondizioni si definiscono attraverso uno dei metodi statici Requires della classe Contracts (System.Diagnostic.Contracts): Imports System.Diagnostics.Contracts   Module Module1        Sub Main()          Dim chr = GetLastChar( "pippo" )          Dim chr2 = GetLastChar( "" )      End Sub        Public Function GetLastChar(str As String ) As String          Contract .Requires( Not String .IsNullOrEmpty(str))          Return str.Substring(str.Length - 1)      End Function   End Module Il metodo GetLastChar richiede che l’argomento non sia né Nothing, né “” e, nel caso precedente, in fase di compilazione, si ottiene il seguente warning mentre in fase di esecuzione si ottiene la seguente eccezione: Fi...

Code Contracts – Generazione documentazione VB.NET completamente funzionante

La nuova versione dei Code Contracts (1.4.30903.0 rilasciata il 9 Settembre scorso risolve il problema segnalato nel mio precedente post . La versione precedente (1.4.30707.2) aveva lo spiacevole bug di non essere in grado di copiare correttamente il file xml di documentazione (generato nella cartella obj) all’interno della cartella di bin. Per questo motivo era necessario ricorrere ad uno script di post build per eseguire l’operazione. La nuova versione risolve il problema e, finalmente, anche gli sviluppatori VB.NET possono avere automaticamente la loro documentazione per i contratti definiti nelle loro classi. Riferimenti Microsoft Research - Code Contracts : http://research.microsoft.com/en-us/projects/contracts/ DevLabs - Code Contracts : http://msdn.microsoft.com/en-us/devlabs/dd491992.aspx Code Contracts Forum : http://social.msdn.microsoft.com/Forums/en-US/codecontracts/threads Video su Channel9 : http://channel9.msdn.com/Search/?Term=code contracts ...

Terza puntata dello speciale Code Contracts su DomusDotNet

Oggi è stata pubblicata, sul portale DomusDotNet , la terza puntata dello speciale sui Code Contracts. Technorati Tag: code contracts , design by contract , domusdotnet

Pubblicata la seconda puntata di “Introduzione ai Code Contracts”

E’ stata pubblicata oggi la seconda di cinque puntate di uno speciale sui Code Contracts. In questa puntata cominciamo a vedere come implementare i contracct grazie alla classe Contracts e come gestirli all’interno di interfacce e classi astratte.   Technorati Tag: code contracts , design by contract , rise , domusdotnet

Introduzione ai Code Contracts (parte 1) su DomusDotNet

E’ stata pubblicata oggi la prima di cinque puntate di uno speciale sui Code Contracts. La prima puntata propone una breve introduzione al design by contract e ai tools disponibili per il mondo .NET.   Technorati Tag: code contracts , design by contract , rise , domusdotnet

Code Contracts, generazione della documentazione e VB.NET

Durante queste vacanze estive (vacanze???) mi sono messo a scrivere uno speciale per DomusDotNet che uscirà a breve e che riguarda i Code Contracts ( http://research.microsoft.com/en-us/projects/contracts/ ). I Code Contracts, come leggerete nello speciale su DomusDotNet (e non ve lo anticipo ora perchè, altrimenti che l’ho scritto a fare), permettono di rendere il nostro codice più robusto ed hanno il vantaggio che finiscono nella documentazione delle classi (con dei commenti XML generati automaticamente). Tutto questo è molto bello se non che mi sono accorto che ciò che viene descritto nel manuale non funziona esattamente con VB.NET (sto lavorando con la versione 1.4.30707.2, del 7 Luglio 2010). In particolare, abilitando la generazione dei dati per l’help (il file XML che si trova all’interno della cartella di compilazione), al termine della compilazione si dovrebbero trovare due file XML: uno quello classico (con estensione .old) e l’altro quello che contiene le informazi...