|
4
|
| James Newton-King dbc · 技术社区 · 17 年前 |
|
|
1
3
当.NET4.0发布时,我们最终将使用代码契约。然而,在我们目前的生产代码中,我们已经成功地使用了“Guard”类以及生成异常的常用方法。 有关详细信息,请参阅 my post about this . |
|
|
2
3
Spec# .
|
|
|
3
1
我更喜欢异常而不是断言,因为如果它应该是这样的,而不是这样的,我想知道它,这样我就可以修复它,而且我们在调试模式下得到的覆盖率与实际使用或覆盖率相差甚远,所以仅使用debug.Assert是不够的。
使用异常意味着无论何时发生、调试或发布,都会看到契约被破坏,但这也意味着发布版本包含更多的检查和代码。 您可以使用中间的方法,并使用Trace将前置和后置条件跟踪到某种应用程序日志中,您可以使用这些日志来调试问题。但是,您需要一种获取这些日志的方法来了解用户遇到的问题。还有可能将其与异常结合起来,这样您就可以针对更严重的问题获得异常。
|
|
|
4
1
您可以在以下位置查看fluent框架: http://conditions.codeplex.com/ |
|
|
5
0
Spec#是实现这一点的方法,它是C#的超集。现在你有了“ Code Contracts ,这是Spec#的语言无关版本,因此现在可以在VB.NET中使用代码契约。 |