Loading user information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading user information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

Daryl Zuniga - Viewing Code Contracts.NET in Visual Studio

1 minute, 23 seconds


Right click “Save as…”

Daryl Zuniga gives a fast and furious demo of the new editor extensions for Code Contracts.NET. When a developer overrides a method with Contracts, the rewritter would automatically insert the pre-conditions and post-conditions in the method body. Unfortunately, the editor is not aware of that - leaving the developer confused... Not anymore, Daryl's extension mines the Contracts on the fly and hosts them in the shiny new WPF editor of Visual Studio 2010.

The Research in Software Engineering team (RiSE) coordinates Microsoft's research in Software Engineering in Redmond, USA.


Follow the discussion

  • Oops, something didn't work.

    Getting subscription
    Subscribe to this conversation
  • This is great (and so is design-by-contract)! Thanks Daryl.

    Will this be included in VS2010 or will it be a seprate extension?


  • How does this handle contracts in the "if-then-throw" form?

  • Allan LindqvistaL_ Kinect ftw

    interesting Smiley did we just get a sneak preview of intellisense in b2 or was that some custom addon btw? :O

  • Peli de Halleuxpeli Peli

    The intellisense is some sample that Daryl installed on his machine.

  • I wonder if it is or someday would be possible to interrogate a method about its contracts at runtime, so the caller could ensure compliance before actually invoking the method? E.g. before sending big batch of data over the wire for pre-processing and loading into a database in one transaction, I get an abstract code tree from the transformation service that represents all or at least some of the checks and run them locally and perform corrective actions proactively.

  • This will be a separate download that will be part of the Code Contracts installation. We hope to get it out in the next release, but we'll have to see if it is ready or not.

  • This is something we've talked about, but haven't started work on. It might even be that a component could register its contracts with a component framework so that if there's a failure, the framework could check the contracts and assign blame properly. (Not as good as your idea of proactively preventing the problem, but another use of the same facility.)

  • Thanks Mike. It sounds like registering contracts with the framework would be the core enabling technology for proper blame assignment and proactive failure prevention. It almost can be read as you guys are planning start working on that Smiley

Remove this comment

Remove this thread


Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.