有没有理由不使用代码合同的运行时合同检查?

uri*_*rig 4 .net code-contracts

我最近在.Net Rocks show 570(http://devjourney.com/community/dotnet-rocks-show-570-with-kevin-hazzard/)上听了Kevin Hazzard关于代码合同的讨论.他提到启用运行时合同检查作为一些人可能选择使用的选项,而其他人可能不会.

为什么不对代码合同使用运行时合同检查?是否会对绩效产生重大负面影响?其他原因?

如果禁用此功能,如何在运行时处理方法中的前提条件?

Meh*_*ari 6

在一些非任务关键型应用程序中,您实际上可能希望让错误在发布版本中滑动,而不是在用户面前抛出错误对话框.最终用户可能从未注意到的小错误会导致合同检查失败并损害用户体验.