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.

learn more… | top users | synonyms

12
votes
6answers
621 views

Contract Based Programming vs Unit Test

I am a somewhat defensive programmer and a big fan of Microsofts Code Contracts. Now I cannot always use C# and in most languages the only tool I have is assertions. So I usually end up with code ...
9
votes
3answers
572 views

Why would I use code contracts

I recently stumbled upon Microsoft's framework for code contracts. I read a bit of documentation and found myself constantly asking: "Why would I ever want to do this, as it does not and often cannot ...
2
votes
0answers
96 views

Is there any static analyzer for code contracts for Java 1.6?

I have used Java Modeling Language (JML) with its runtime assertion checker jml4c for writing code contracts in java. However, it would have been great to have a static checker in place as well that ...
3
votes
4answers
311 views

Why must the burden of proof rest with the caller and not the method of the class that is being called?

Michael Perry states in his Pluralsight course on Provable Code (transcript subscription only) that: [T]he burden of proof rests with the caller In a code contract, why must the burden of proof ...
6
votes
1answer
411 views

What are the practical examples of code exploration techniques?

Code Exploration (CE) is quite a new term and I wonder if there already any successful examples of implementing this techniques in terms of Continuous Integration principles? In short, Code ...
10
votes
2answers
349 views

code contracts/asserts: what with duplicate checks?

I'm a huge fan of writing asserts, contracts or whatever type of checks available in the language I'm using. One thing that bothers me a bit is that I'm not sure what the common practice is for ...
3
votes
2answers
1k views

Do .NET 4.0 Code Contracts have a role to play in solo-programmer projects?

I often find myself wondering what programming best practices apply to solo programming, since most of the time, I'm the only programmer on a project. I just started experimenting with C# 4.0 Code ...
16
votes
10answers
3k views

Should a method validate its parameters? [duplicate]

Say you are designing a Square root method sqrt. Do you prefer to validate the parameter passed is not a negative number or do you leave it up to the caller to make sure the param passed is valid. How ...
6
votes
1answer
216 views

What do you think about design by contract? [closed]

What benefits does having code contracts available within the language/framework have? How does it compare to using unit tests or assertions instead?