gpt4 book ai didi

c# - 我应该使用哪个,CodeContract 还是 CuttingEdge.Conditions?

转载 作者:可可西里 更新时间:2023-11-01 07:43:20 27 4
gpt4 key购买 nike

我研究了使用条件框架来验证数据而不是

if(cond) throw new SomeException();

SomeFramework.MakeSure(cond);

最后我的选择是使用 CodeContractCuttingEdge.Conditions 框架。

我无法决定使用哪个框架。我可以告诉你,我不喜欢“CodeContract”框架的地方是你必须安装额外的 msi 才能使用它以及你需要选择的选项;不是说它不好,而是感觉不自然。 (当然,它仍在 MS 研究中。)

你怎么看?

最佳答案

CodeContracts 框架是 .NET 4 的一部分。因此您可以针对它编写代码而无需安装任何东西,只是如果没有重写器组件,代码契约将不会有任何效果运行。我将此包含在框架中视为 Microsoft 打算在未来更多地集成代码契约的标志。

根据 CuttingEdge.Conditions CodePlex page 上的统计数据, 它只被下载了 4,189 次。语法有一些不错的地方,但除非 CuttingEdge.Conditions 而非 CodeContracts 特别支持某些内容,否则您还是坚持使用.NET.

就我而言,代码合约的主要特征如下:

  1. 您可以在接口(interface)上设置代码契约,以指定实现这些接口(interface)的类型的预期行为。

  2. 代码契约是继承的。

我还没有尝试过 CuttingEdge.Conditions,但它是否支持这两个功能并不明显(而 CodeContracts 支持)。

关于c# - 我应该使用哪个,CodeContract 还是 CuttingEdge.Conditions?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9347946/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com