C# 从哪里开始代码契约?

C# 从哪里开始代码契约?,c#,.net,code-contracts,C#,.net,Code Contracts,我看到了一个很棒的C代码契约演示,我想开始在5月份的代码中实现它们。我希望我的代码中已经有了它们。从哪里开始 我没有从演示中拿走任何印刷材料。有什么建议吗 对代码契约初学者有什么建议吗 提前感谢您的帮助。我将从这个Wiki开始介绍。然后深入阅读上的文档。要将其真正应用到代码中,我想您几乎可以从任何地方开始,但可能从最不可能产生影响的区域开始。所以,如果合适的话,也许可以添加一些Contract.Requires参数。当您感到更舒适时,您可以将它们添加到接口中,但请注意这可能会使事情变得更糟。。。

我看到了一个很棒的C代码契约演示,我想开始在5月份的代码中实现它们。我希望我的代码中已经有了它们。从哪里开始

我没有从演示中拿走任何印刷材料。有什么建议吗

对代码契约初学者有什么建议吗


提前感谢您的帮助。

我将从这个Wiki开始介绍。然后深入阅读上的文档。要将其真正应用到代码中,我想您几乎可以从任何地方开始,但可能从最不可能产生影响的区域开始。所以,如果合适的话,也许可以添加一些Contract.Requires参数。当您感到更舒适时,您可以将它们添加到接口中,但请注意这可能会使事情变得更糟。。。但是在一个好的方面。错误或警告意味着您违反了DbC,并且很可能在项目页面上提供了。

很好地描述了如何使用代码契约以及代码契约的可能性。

请注意,.NET Framework BCL中的代码契约注释有点参差不齐。例如,许多总是返回非null对象的方法(当然,除非它抛出)没有标记为非null对象。这会迫使您在代码中添加空检查或
假定
调用,以满足静态分析器的要求。@phoog这是正确的,但代码契约团队一直在努力将契约添加到越来越多的BCL中,因此几乎每个版本都在改进。@Andy谢谢,很高兴知道这一点。我必须承认,我已经很久没有看代码契约了,所以我会看看最新的版本,将来一定会继续检查。