微软最近在 DevLabs 上发布了他们的Code Contracts框架,并获得了商业许可。我们有兴趣在我们的项目中使用它们(主要是 C#,一些 C++/CLI)来逐步替换所有自定义验证代码,但我很想知道在我们承诺之前其他人使用它的经验,具体来说:
您认为该框架对于大型复杂的商业项目是否足够成熟?
你在使用过程中遇到了什么问题?
你从中得到了什么好处?
目前是否比它的价值更痛苦?
我意识到这是一个有点主观的问题,因为它需要意见,但鉴于这个框架是 .NET 4.0 的一个非常重要的部分,并且会(可能)改变我们所有人编写验证代码的方式,我希望这个问题将被留下愿意收集有关该主题的经验,以帮助我对一个具体的、可回答的问题做出决定:
我们应该下个月开始使用它吗?
请注意,我们不提供代码 API,仅提供 Web 服务,因此对于大多数代码破坏兼容性而言,抛出的异常类型不是问题。然而,由于我希望更多的人能从这篇文章及其答案中受益,因此任何关于这个领域的细节都非常受欢迎。