{"id":169922,"date":"2008-10-28T15:19:56","date_gmt":"2008-10-28T15:19:56","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/project\/code-contracts\/"},"modified":"2017-06-06T08:52:45","modified_gmt":"2017-06-06T15:52:45","slug":"code-contracts","status":"publish","type":"msr-project","link":"https:\/\/www.microsoft.com\/en-us\/research\/project\/code-contracts\/","title":{"rendered":"Code Contracts"},"content":{"rendered":"
Code Contracts provide a language-agnostic way to express coding assumptions in .NET programs. The contracts take the form of preconditions, postconditions, 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.<\/p>\n
Code Contracts is now an open source project (opens in new tab)<\/span><\/a> in GitHub. This page is being kept for historical interest. All downloads, documentation, and discussions take place there (opens in new tab)<\/span><\/a>.<\/p>\n It is just one of the many projects that are part of the Open Source for Academics (opens in new tab)<\/span><\/a> program.<\/p>\n\t\t\t