Why should I allow ccrewrite to rewrite binaries if Code Contracts could make static check and be assure that all is correct?
Is it normal to completely turn off ccrewrite?
Why should I allow ccrewrite to rewrite binaries if Code Contracts could make static check and be assure that all is correct?
Is it normal to completely turn off ccrewrite?
if Code Contracts could make static check and be assure that all is correct?
Will only hold when it's about a complete application and you don't need to Assume()
anything.
In all other cases (reusable library components etc) Code Contracts can obly verify the internal logic but nothing can replace the Requires()
at the front door.
An additional point that does get raised on the Code Contracts forum regularly is that the static verifier can and does have bugs.
Yet another point, is that the static verifier can be VERY slow if you use it in every build.
You can compensate for this by using runtime checking in conjunction with unit tests to exercise your code and find problems.