代码契约发生了什么?

10

在.NET 4发布之前的几年里,博客圈中到处都是Code Contracts(代码契约)的内容。.NET 4中包含的运行时组件以及Visual Studio 2010更昂贵版本中提供的静态检查器使其变得更加完善。

尽管围绕Code Contracts的热潮已经平息,但人们是否在生产中使用它呢?微软研究部门还在进一步开发它吗?

2个回答

7
看到项目页面,最后一次更新是2011年6月2日,对我来说似乎仍然很新。

所以,是的,我认为它仍在继续开发。它会在普通代码店中取得重大进展吗?现在还为时过早。偶尔我会看到一些关于它的Stack Overflow问题,这表明它仍然在某些地方使用 - 但我没有看到像我想要的那样的更多采用证据。

我怀疑它是那些在某些情况下非常有用,在其他情况下有点麻烦的工具之一 - 而且在全新的项目中比老项目中更有用。


另一个缺点是,即使他们提到它不需要小型库的外部安装程序;它将包含在Visual Studio 2010和.NET 4中,但这并没有发生。您仍然需要从devlabs下载软件包并安装,否则您无法在Visual Studio的.NET4项目中添加Code Contracts选项卡。这不是一个大问题,但又是另一个需要担心在计算机上安装的依赖软件包。 - David Anderson
所以大约已经过去一年了,自从有人提出这个问题以来,代码合同似乎仍在积极开发中(最后发布于2012年3月27日),但我很失望它没有与VS 2012一起包含甚至在现今也很少被谈论。是否有任何见解为什么不这样做,以及何时/如果像Moles一样成为产品? - Scott Lerch
@ScottLerch:很抱歉,我没有这样的见解 :( - Jon Skeet

0

至少在.NET Framework本身中仍然在使用(至少截至4.51版本)。举个例子,看一下System.Text.StringBuilder类的实现。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接