Printable version of post Code Contracts in .NET 4.0

Code Contracts in .NET 4.0

Print Content | More

Approfittando del giorno di vacanza mi sono messo a dare uno sguardo ai CodeContracts del .NET Framework 4.0. Per chi non li conoscesse, i CodeContracts non sono altro che un insieme di classi che permettono, grazie anche a dei tools che vanno installati, di definire delle regole di PreCondizione, PostCondizione e Invarianti di Oggetto per le nostre classi. Guardando un po’ il lato pratico, possiamo brevemente riassumere che:

Un aspetto interessante è sicuramente la possibilità di specificare queste regole anche a delle interfacce, forse in maniera abbastanza “strana”, ma pensandoci su corretta. Di fatto, ci basta creare una classe che implementa l’interfaccia a cui vogliamo assegnare i nostri Contracts e decorarla con un apposito attributo; a questo punto il compilatore farà il resto, ossia inserire tutto il necessario su chi andrà ad implementare realmente l’interfaccia.
Inoltre, grazie ai tools (disponibili qui) viene generata automaticamente la documentazione in formato XML, che successivamente può essere data in pasto a SandCastle per averne un formato leggibile :).

Concludendo, devo dire che il primo approccio è sicuramente positivo e di fatto, dopo un po’ che ci “giocavo”, mi sono apparsi in mente diversi scenari in cui poter sfruttare questa nuova interessante feature e sicuramente ne nasceranno dei posts, quindi Stay tuned!

Ciauz!


CodeContracts

0 comments

Related Post