Share via


Code Contracts Survey

The BCL Team has put together a survey about Code Contracts.  We're trying to get data about how people are using the feature to help us figure out where to invest in further development.  Even if you haven't used Code Contracts yet, your answers would be quite helpful.  We have a few questions to help us determine the main reasons people haven't tried the feature.  If you have a few minutes to spare, the survey can be found here: https://codecontracts.questionpro.com.

Thanks in advance for your help.

Comments

  • Anonymous
    May 24, 2010
    you got to try it

  • Anonymous
    May 25, 2010
    The comment has been removed

  • Anonymous
    May 25, 2010
    Some questions don't make sense, for example how much time do I spend on annotating methods with contracts. It depends on the size of the project actually. But go ahead guys, I can't wait for you to release Code Contracts

  • Anonymous
    May 26, 2010
    I was giving a talk about code contracts this week and got a question I wasn't sure how to answer. When you compile in debug, all the ContractRuntime goo is injected into the IL, but when you compile in Release it is all removed. So the question I received was whether or not to do if(x == null) throw new ArgumentNullException("x"); or Contract.Requires(x != null); Is it safe to do contract.requires because you would still want that null check at runtime wouldn' t you? I could see that especially if you were building something that would be consumed by 3rd party. Perhaps an option to still emit the .Requires checks in a release build? or at least convert to the if(x == null) syntax?

  • Anonymous
    June 14, 2010
    It's great that the survey also asks us about our (non-code contract) priorities.  I really hope that this list isn't the main shortlist of features for the next version of Visual Studio. Please, please review the feedback people are providing on Connect.  For example in the top 5 VS/.NET requests: connect.microsoft.com/.../arithmetic-types-like-int-double-decimal-should-implement-iarithmetic-t and specifically for code contracts: connect.microsoft.com/.../make-data-contract-static-checking-available-in-professional-edition and specifically for the BCL: connect.microsoft.com/.../make-a-generic-form-of-weakreference-weakreference-t-where-t-class