Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I would fully embrace Contracts as in the preview blogs and by reading the longer pdf doc.</p> <p>Contracts is not just for public functions. The big deal is that it provides a way for the compiler to reason about the code. So use it in all your functions as appropriate. That gives you the maximum benefit. Only using it in public functions is like saying you are only testing top level functions. Its wrong.</p> <p>Your function test cases would mop up whatever logic still needs testing in the function after the Contract pre / post and invariant calls do their thing.</p> <p>Be clear about the 3 usage scenarios, which one works for your code, and its issues. Ideally you can have them running in your production code and then scale back based on performance testing.</p> <p>Make sure your generated docs include your contracts, its a nice benefit.</p> <p>I also like the the DevExpress CodeRush and Refactor! Pro tools. They have specific refactorings for Contracts such as couple of clicks to turn input parameters into requires contracts etc. In addition they have some nice code analysis that will bump up your code quality in general.</p> <p>You can peek at some code with Contracts here: <a href="https://searchcode.com/codesearch/view/14318515/" rel="nofollow">https://searchcode.com/codesearch/view/14318515/</a></p> <p>As for the whole best-practice enchilada all in one project. Well, I am looking at you Microsoft. Tsk.</p> <p>Henk did a good job with the rest of your questions.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload