Wednesday, February 25, 2009

Code Contract in Visual studio 2010

Microsoft has included the Code Contract feature in Visual Studio 2010 with .NET Framework 4.0 which was earlier published by Microsoft Research team.Code Contract is a language-agnostic way to express coding assumptions in .NET programs. The contracts take the form of pre-conditions, post-conditions, and object invariants. Contracts act as checked documentation of your external and internal APIs. The contracts are used to improve testing via runtime checking, enable static contract verification, and documentation generation. Code Contracts bring the advantages of design-by-contract programming to all .NET programming languages.
The VS.NET 2010 CTP includes a CodeContracts class in the System.Diagnostics.Contracts namespace that allows you to write contracts in your code. All contracts are static methods that return void. They take a Boolean expression which encodes the condition that must be true. They also have an overload that takes a string parameter as a message for when the contract is false. Contracts are declarative and come at the beginning of your method. You can think of them as part of the signature.
To know more details visit the Microsoft Research site