似乎只有适用于.NET 4.0代码合同的静态分析器才会在Visual Studio的Team Suite版本中提供 - 这使得它远远超出了我的团队预算。 是否有任何替代方案(开源,免费或价格合理),可以为按照契约设计的代码提供类似的静态分析(不一定使用.net代码合同)?我猜答案可能是否定的,因为只有当BCL本身具有合同时,完全价值才会实现 - 但是否有任何部分实现的替代方案?
我不确定那是否是您想要的,但您可以看一下Frama-C和其C语言的ACSL注释语言。 与.NET合同相比,ACSL合同不可执行(无法使用运行时断言检查它们),但更适用于静态分析(它们更具表现力,允许编写完整规范并进行静态检查。至少在理论上)。