Silicon Valley Code Camp : October 8th and 9th, 2011.session
Contract-First Development with Microsoft Code Contracts and Microsoft Pex
About This Session
Design by Contract/Programming, or also called Contract-First development with Code Contracts and Pex, is a design/development approach which first defines a contract for class and its methods before implementing it. Since VS2010, by specifying invariants, pre and post conditions for methods with Code Contracts, Microsoft provides the platform support for taking advantage of this programming paradigm. This allows for writing less and cleaner coder, which is easier to read, test, and document. <br/><br/>
Pex, like Code Contracts a development out of the Microsoft Research Lab, allows for automatically creating unit tests. By integrating with Code Contracts, many of the needed Unit Tests can be actually generated instead of written manually. <br/><br/>
Finally, Code Contracts also integrate tightly with Microsoft Sandcastle, generating more detailed and accurate MSDN style API documentation and utilizing the conditions specified through Code Contracts.<br/><br/>
Within this session, I will give an introduction to Contract-First Development, Code Contracts, Pex and Sandcastle, pointing specifically to the advantages while also addressing limitations and risks.