c# – .Net代码合同 – 在哪里学习更多?

我最近在办公室里听到一些关于.Net“合同”的讨论,但是当我问一些同事的时候,他们并不能很容易地向我解释他们是甚么,甚至是甚么。

有没有人有任何资源,解释,或许有关于他们使用的教程?

谢谢,

保罗

代码合同在.NET 4.0中引入,它们提供了语言无关的方法来表达程序中的编码假设。

它们基本上允许您检查前提条件,后期条件和其他功能,并可以大大提高测试过程和最终写入的代码质量。

来自微软:

>运行时检查。我们的二进制重写器通过注入合同来修改程序,作为程序的一部分进行检查>执行。重写程序提高了可测试性:每个合同作为一个oracle,给出测试运行通过/失败指示。诸如Pex之类的自动测试工具利用契约来产生更有意义的单元测试,过滤出不满足前提条件的无意义的测试参数。
>静态检查。我们的静态检查器可以决定是否有任何合同违规,甚至没有运行程序!它检查隐式合同,如空解除引用和数组边界,以及明确的合同。
>文档生成。我们的文档生成器使用合同信息来增强现有的XML文档。还有可以与Sandcastle一起使用的新样式表,以便生成的文档页面具有契约部分。

学到更多:

> Code Contracts | Microsoft Research
> Code Contracts Overview Video and Tutorial by Greg Young | InfoQ
> Code Contracts | Microsoft DevLabs
> Tutorial on Using Code Contracts | jarloo.com

http://stackoverflow.com/questions/8448745/net-code-contracts-where-to-learn-more

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:c# – .Net代码合同 – 在哪里学习更多?