I don't want to insult anyone, but has anyone ever gotten anything useful out of using code contracts? Well, maybe except a massive head ache. I've only tried Code contracts on a small library of mine, and all I felt was I kept repeating over and over again, that the parameters were != null. Then after stating some parameter p was != null, Then, sigh, I had to prove that a property e on p was != null. Finally, I ran into a situation where I had to prove some obscure situation I never figured out. And what did I get out of all my troubles? Nothing!
Now I know the documentation states that using statical analysis is a straneous endavour, however, this begs the question if anyone ever felt they'd gained anything from using code contracts? I know the Eiffel language and the history and motivations for contracts in general. However, I find it difficult to believe I have to wrestle so much just to be able to avoid an occasional NullReferenceException.
Your thoughts are appreciated.